p_table <- function(tab_data, ...) {
  tab_data_2 <- deparse(substitute(tab_data))
  
  table_p <- do.call(CreateTableOne, 
                     list(data = as.name(tab_data_2), includeNA = TRUE, ...))
  table_p_out <- print(table_p,
                       showAllLevels = TRUE,
                       printToggle = FALSE)
  kable(table_p_out,
        align = "c")
}
uni_var <- function(test_var, data_imp) {
                
        cat("_________________________________________________")
        cat("\n")
        cat("   \n##", test_var)
        cat("\n")
        cat("_________________________________________________")
        cat("\n")
        
        f <- as.formula(paste("Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 0)",
                              as.name(test_var),
                              sep = " ~ " ))
        
        data_imp_2 <- deparse(substitute(data_imp))
        km_fit <- do.call("survfit", list(formula = f, data = as.name(data_imp_2)))
        print(km_fit)
        cat("\n")
        print(summary(km_fit, times = c(12, 24, 36, 48, 60, 120)))
        cat("\n")
        cat("\n")
        cat("\n")
        cat("   \n## Univariable Cox Proportional Hazard Model for: ", test_var)
        cat("\n")
        cat("\n")
        n_levels <- nlevels(data_imp[[test_var]])
        if(n_levels == 1){
                print("Only one level, no Cox model performed")
                cat("\n")
        } else {
                cox_fit <- do.call("coxph", list(formula = f, data = as.name(data_imp_2)))
                print(summary(cox_fit))
                cat("\n")
                
                do.call("ggforest",
                         list(model = cox_fit, data = as.name(data_imp_2)))
        }
        cat("\n")
        cat("\n")
        cat("\n")
        cat("   \n## Unadjusted Kaplan Meier Overall Survival Curve for: ", test_var)
        p <- do.call("ggsurvplot",
                     list(fit = km_fit, data = as.name(data_imp_2),
                          palette = "jco", censor = FALSE, legend = "right",
                          linetype = "strata", xlab = "Time (Months)"))
        print(p)
}
col.width <- c(37, 10, 1, 1, 3, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 8, 2, 2, 2, 4, 4, 1, 4, 1, 1,
               1, 3, 2, 2, 8, 2, 5, 5, 5, 4, 5, 5, 5,4, 2, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 3,
               3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 8,
               8, 8, 2, 1, 1, 1, 1, 8, 1, 1, 8, 1, 1, 2, 2, 5, 2, 5, 3, 1, 3, 1, 8, 8, 2, 8,
               2, 8, 2, 2, 1, 8, 1, 1, 1, 1, 1, 8, 1, 2, 2, 2, 2, 2, 1, 1, 1, 2, 1, 3, 1, 1,
               1, 1, 1, 1, 1, 1, 1)
col.names.abr <- c("PUF_CASE_ID", "PUF_FACILITY_ID", "FACILITY_TYPE_CD", "FACILITY_LOCATION_CD",
                   "AGE", "SEX", "RACE", "SPANISH_HISPANIC_ORIGIN", "INSURANCE_STATUS",
                   "MED_INC_QUAR_00", "NO_HSD_QUAR_00", "UR_CD_03", "MED_INC_QUAR_12", "NO_HSD_QUAR_12",
                   "UR_CD_13", "CROWFLY", "CDCC_TOTAL_BEST", "SEQUENCE_NUMBER", "CLASS_OF_CASE",
                   "YEAR_OF_DIAGNOSIS", "PRIMARY_SITE", "LATERALITY", "HISTOLOGY", "BEHAVIOR", "GRADE",
                   "DIAGNOSTIC_CONFIRMATION", "TUMOR_SIZE", "REGIONAL_NODES_POSITIVE",
                   "REGIONAL_NODES_EXAMINED", "DX_STAGING_PROC_DAYS", "RX_SUMM_DXSTG_PROC", "TNM_CLIN_T",
                   "TNM_CLIN_N", "TNM_CLIN_M", "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
                   "TNM_PATH_STAGE_GROUP", "TNM_EDITION_NUMBER", "ANALYTIC_STAGE_GROUP", "CS_METS_AT_DX",
                   "CS_METS_EVAL", "CS_EXTENSION", "CS_TUMOR_SIZEEXT_EVAL", "CS_METS_DX_BONE", "CS_METS_DX_BRAIN",
                   "CS_METS_DX_LIVER", "CS_METS_DX_LUNG", "LYMPH_VASCULAR_INVASION", "CS_SITESPECIFIC_FACTOR_1",
                   "CS_SITESPECIFIC_FACTOR_2", "CS_SITESPECIFIC_FACTOR_3", "CS_SITESPECIFIC_FACTOR_4",
                   "CS_SITESPECIFIC_FACTOR_5", "CS_SITESPECIFIC_FACTOR_6", "CS_SITESPECIFIC_FACTOR_7",
                   "CS_SITESPECIFIC_FACTOR_8", "CS_SITESPECIFIC_FACTOR_9", "CS_SITESPECIFIC_FACTOR_10",
                   "CS_SITESPECIFIC_FACTOR_11", "CS_SITESPECIFIC_FACTOR_12", "CS_SITESPECIFIC_FACTOR_13",
                   "CS_SITESPECIFIC_FACTOR_14", "CS_SITESPECIFIC_FACTOR_15", "CS_SITESPECIFIC_FACTOR_16",
                   "CS_SITESPECIFIC_FACTOR_17", "CS_SITESPECIFIC_FACTOR_18", "CS_SITESPECIFIC_FACTOR_19",
                   "CS_SITESPECIFIC_FACTOR_20", "CS_SITESPECIFIC_FACTOR_21", "CS_SITESPECIFIC_FACTOR_22",
                   "CS_SITESPECIFIC_FACTOR_23", "CS_SITESPECIFIC_FACTOR_24", "CS_SITESPECIFIC_FACTOR_25",
                   "CS_VERSION_LATEST", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS", "DX_DEFSURG_STARTED_DAYS",
                   "RX_SUMM_SURG_PRIM_SITE", "RX_HOSP_SURG_APPR_2010", "RX_SUMM_SURGICAL_MARGINS",
                   "RX_SUMM_SCOPE_REG_LN_SUR", "RX_SUMM_SURG_OTH_REGDIS", "SURG_DISCHARGE_DAYS", "READM_HOSP_30_DAYS",
                   "REASON_FOR_NO_SURGERY", "DX_RAD_STARTED_DAYS", "RX_SUMM_RADIATION", "RAD_LOCATION_OF_RX",
                   "RAD_TREAT_VOL", "RAD_REGIONAL_RX_MODALITY", "RAD_REGIONAL_DOSE_CGY", "RAD_BOOST_RX_MODALITY",
                   "RAD_BOOST_DOSE_CGY", "RAD_NUM_TREAT_VOL", "RX_SUMM_SURGRAD_SEQ", "RAD_ELAPSED_RX_DAYS",
                   "REASON_FOR_NO_RADIATION", "DX_SYSTEMIC_STARTED_DAYS", "DX_CHEMO_STARTED_DAYS", "RX_SUMM_CHEMO",
                   "DX_HORMONE_STARTED_DAYS", "RX_SUMM_HORMONE", "DX_IMMUNO_STARTED_DAYS", "RX_SUMM_IMMUNOTHERAPY",
                   "RX_SUMM_TRNSPLNT_ENDO", "RX_SUMM_SYSTEMIC_SUR_SEQ", "DX_OTHER_STARTED_DAYS", "RX_SUMM_OTHER",
                   "PALLIATIVE_CARE", "RX_SUMM_TREATMENT_STATUS", "PUF_30_DAY_MORT_CD", "PUF_90_DAY_MORT_CD",
                   "DX_LASTCONTACT_DEATH_MONTHS", "PUF_VITAL_STATUS", "RX_HOSP_SURG_PRIM_SITE", "RX_HOSP_CHEMO",
                   "RX_HOSP_IMMUNOTHERAPY", "RX_HOSP_HORMONE", "RX_HOSP_OTHER", "PUF_MULT_SOURCE", "REFERENCE_DATE_FLAG",
                   "RX_SUMM_SCOPE_REG_LN_2012", "RX_HOSP_DXSTG_PROC", "PALLIATIVE_CARE_HOSP", "TUMOR_SIZE_SUMMARY",
                   "METS_AT_DX_OTHER", "METS_AT_DX_DISTANT_LN", "METS_AT_DX_BONE", "METS_AT_DX_BRAIN",
                   "METS_AT_DX_LIVER", "METS_AT_DX_LUNG", "NO_HSD_QUAR_16", "MED_INC_QUAR_16", "MEDICAID_EXPN_CODE")
#Read in data for each subsite
lip <- read_fwf('NCDBPUF_Lip.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
melanoma <- read_fwf('NCDBPUF_Melanoma.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
                       
skin <- read_fwf('NCDBPUF_OtSkin.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
hodgextr <- read_fwf('NCDBPUF_HodgExtr.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
hodgndal <- read_fwf('NCDBPUF_HodgNdal.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
NHLndal <- read_fwf('NCDBPUF_NHLNdal.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
NHLextr <- read_fwf('NCDBPUF_NHLExtr.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
breast <-  read_fwf('NCDBPUF_Breast.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
vulva <-  read_fwf('NCDBPUF_Vulva.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
vagina <-  read_fwf('NCDBPUF_Vagina.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
penis <-  read_fwf('NCDBPUF_Penis.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
#Combine data for all subsites
dat <- bind_rows(lip, melanoma, skin, hodgextr, hodgndal, NHLndal, breast, 
                 vulva, vagina, penis, NHLextr)
rm(lip, melanoma, skin, hodgextr, hodgndal, NHLndal, breast, vulva, vagina, 
   penis, NHLextr)
prim_site_text <- data_frame(PRIMARY_SITE = c(
#NHL sites
"C000", 
"C001", 
"C002", 
"C003", 
"C004", 
"C005", 
"C006", 
"C008",
"C009", 
"C019", 
"C020", 
"C021",
"C022", 
"C023", 
"C024", 
"C028", 
"C029",
"C030",
"C031",
"C039", 
"C040", 
"C041", 
"C048",
"C049", 
"C050", 
"C051", 
"C052", 
"C058", 
"C059",
"C060", 
"C061", 
"C062", 
"C068", 
"C069", 
"C079",  
"C098",
"C099",
"C111",
"C142",
"C300",
"C379",
"C422",
"C770",
"C771",
"C772",
"C773",
"C774",
"C775",
"C778",
"C779"),
SITE_TEXT = c(
"C00.0 External Lip: Upper NOS",
"C00.1 External Lip: Lower NOS",
"C00.2 External Lip: NOS",
"C00.3 Lip: Upper Mucosa",
"C00.4 Lip: Lower Mucosa",
"C00.5 Lip: Mucosa NOS",
"C00.6 Lip: Commissure",
"C00.8 Lip: Overlapping",
"C00.9 Lip NOS",
"C01.9 Tongue: Base NOS",
"C02.0 Tongue: Dorsal NOS",
"C02.1 Tongue: Border, Tip",
"C02.2 Tongue: Ventral NOS",
"C02.3 Tongue: Anterior NOS",
"C02.4 Lingual Tonsil",
"C02.8 Tongue: Overlapping",
"C02.9 Tongue: NOS",
"C03.0 Gum: Upper",
"C03.1 Gum: Lower",
"C03.9 Gum NOS",
"C04.0 Mouth: Anterior Floor",
"C04.1 Mouth: Lateral Floor",
"C04.8 Mouth: Overlapping Floor",
"C04.9 Floor of Mouth NOS",
"C05.0 Hard Palate",
"C05.1 Soft Palate NOS",
"C05.2 Uvula",
"C05.8 Palate: Overlapping",
"C05.9 Palate NOS",
"C06.0 Cheek Mucosa",
"C06.1 Mouth: Vestibule",
"C06.2 Retromolar Area",
"C06.8 Mouth: Other Overlapping",
"C06.9 Mouth NOS",
"C07.9 Parotid Gland",
  "C09.8 Tonsil: Overlapping",
  "C09.9 Tonsil NOS",
  "C11.1 Nasopharynx: Poster Wall", 
  "C14.2 Waldeyer Ring",
  "C30.0 Nasal Cavity",
  "C37.9 Thymus",
  "C42.2 Spleen",
  "C77.0 Lymph Nodes: HeadFaceNeck",
  "C77.1 Intrathoracic Lymph Nodes",
  "C77.2 Intra-abdominal LymphNodes",
  "C77.3 Lymph Nodes of axilla or arm ",
  "C77.4 Lymph Nodes: Leg",
  "C77.5 Pelvic Lymph Nodes",
  "C77.8 Lymph Nodes: multiple region",
  "C77.9 Lymph Node NOS"))
dat <- merge(dat, prim_site_text, by = "PRIMARY_SITE", all.x = TRUE) 
rm(prim_site_text)
# convert numeric variables from character class to numeric class
num_vars <- c("AGE", "CROWFLY", "TUMOR_SIZE", "DX_STAGING_PROC_DAYS", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
              "DX_DEFSURG_STARTED_DAYS", "SURG_DISCHARGE_DAYS", "DX_RAD_STARTED_DAYS",  "RAD_REGIONAL_DOSE_CGY",
              "RAD_BOOST_DOSE_CGY", "RAD_ELAPSED_RX_DAYS", "DX_SYSTEMIC_STARTED_DAYS", "DX_CHEMO_STARTED_DAYS", 
              "DX_HORMONE_STARTED_DAYS", "DX_OTHER_STARTED_DAYS", "DX_LASTCONTACT_DEATH_MONTHS",
              "RAD_NUM_TREAT_VOL")
dat[num_vars] <- lapply(dat[num_vars], as.numeric)
# convert factor variables from character class to factor class
vars <- names(dat)
fact_vars <- vars[!(vars %in% num_vars)] # basically all of the non-numerics
dat[fact_vars] <- lapply(dat[fact_vars], as.character)
dat[fact_vars] <- lapply(dat[fact_vars], as.factor)
dat <- dat %>%
        mutate(FACILITY_TYPE_F = fct_recode(FACILITY_TYPE_CD,
                                            "Community Cancer Program" = "1",
                                            "Comprehensive Comm Ca Program" = "2",
                                            "Academic/Research Program" = "3",
                                            "Integrated Network Ca Program" = "4",
                                            "Other" = "9")) %>%
        mutate(FACILITY_LOCATION_F = fct_recode(FACILITY_LOCATION_CD,
                                            "New England" = "1",
                                            "Middle Atlantic" = "2",
                                            "South Atlantic" = "3",
                                            "East North Central" = "4",
                                            "East South Central" = "5",
                                            "West North Central" = "6",
                                            "West South Central" = "7",
                                            "Mountain" = "8",
                                            "Pacific" = "9",
                                            "out of US" = "0")) %>%
        mutate(FACILITY_GEOGRAPHY = fct_collapse(FACILITY_LOCATION_CD,
                                                 "Northeast" = c("1", "2"),
                                                 "South" = c("3", "7"),
                                                 "Midwest" = c("4", "5", "6"),
                                                 "West" = c("8", "9"))) %>%
        mutate(AGE_F = cut(AGE, c(0, 54, 64, 74, 100))) %>%
        mutate(AGE_40 = cut(AGE, c(0, 40, 100))) %>%
        mutate(SEX_F = fct_recode(SEX,
                                "Male" = "1",
                                "Female" = "2")) %>%
        mutate(RACE_F = fct_collapse(RACE,
                                "White" = c("01"),
                                "Black" = c("02"),
                                "Asian" = c("04", "05", "06", "07", "08", "10", "11", "12", "13", "14", "15",
                                            "16", "17", "20", "21", "22", "25", "26", "27", "28", "30", "31",
                                            "32", "96", "97"),
                                "Other/Unk" = c("03", "98", "99"))) %>%
        mutate(HISPANIC = fct_collapse(SPANISH_HISPANIC_ORIGIN,
                                       "Yes" = c("1", "2", "3", "4", "5", "6", "7", "8"),
                                       "No" = c("0"),
                                       "Unknown" = c("9"))) %>%
        mutate(INSURANCE_F = fct_recode(INSURANCE_STATUS,
                                         "None" = "0",
                                         "Private" = "1",
                                         "Medicaid" = "2",
                                         "Medicare" = "3",
                                         "Other Government" = "4",
                                         "Unknown" = "9")) %>%
        mutate(INSURANCE_F = fct_relevel(INSURANCE_F,
                                         "Private")) %>%
        mutate(INCOME_F = fct_recode(MED_INC_QUAR_12,
                                      "Less than $38,000" = "1",
                                      "$38,000 - $47,999" = "2",
                                      "$48,000 - $62,999" = "3",
                                      "$63,000 +" = "4")) %>%
        mutate(EDUCATION_F = fct_recode(NO_HSD_QUAR_12,
                                        "21% or more" = "1",
                                        "13 - 20.9%" = "2",
                                        "7 - 12.9%" = "3",
                                        "Less than 7%" = "4")) %>%
        mutate(U_R_F = fct_collapse(UR_CD_13,
                                    "Metro" = c("1", "2", "3"),
                                    "Urban" = c("4", "5", "6", "7"),
                                    "Rural" = c("8", "9"))) %>%
        mutate(CLASS_OF_CASE_F = fct_collapse(CLASS_OF_CASE,
                                              All_Part_Prim = c("10", "11", "12", "13",
                                                                "14", "20", "21", "22"),
                                              Other_Facility = c("00"))) %>%
        mutate(GRADE_F = fct_recode(GRADE,
                                  "Gr I: Well Diff" = "1",
                                  "Gr II: Mod Diff" = "2",
                                  "Gr III: Poor Diff" = "3",
                                  "Gr IV: Undiff/Anaplastic" = "4",
                                  "NA/Unkown" = "9")) %>%
        mutate(HISTOLOGY_F = fct_infreq(HISTOLOGY)) %>%
        mutate(HISTOLOGY_F = factor(HISTOLOGY_F)) %>%
        mutate(HISTOLOGY_F_LIM = fct_lump(HISTOLOGY_F, prop = 0.05)) %>%
        mutate(TNM_CLIN_T = fct_recode(TNM_CLIN_T,
                                       "N_A" = "88")) %>%
        mutate(TNM_CLIN_T = fct_relevel(TNM_CLIN_T,
                                        "1")) %>%
        mutate(TNM_CLIN_N = fct_recode(TNM_CLIN_N,
                                       "N_A" = "88")) %>%
        mutate(TNM_CLIN_M = fct_recode(TNM_CLIN_M,
                                       "N_A" = "88")) %>%
        mutate(TNM_PATH_T = fct_recode(TNM_PATH_T,
                                       "N_A" = "88")) %>%
        mutate(TNM_PATH_T = fct_relevel(TNM_PATH_T,
                                        "1")) %>%
        mutate(TNM_PATH_N = fct_recode(TNM_PATH_N,
                                       "N_A" = "88")) %>%
        mutate(TNM_PATH_M = fct_recode(TNM_PATH_M,
                                       "N_A" = "88")) %>%
        mutate(TNM_CLIN_STAGE_GROUP = fct_recode(TNM_CLIN_STAGE_GROUP,
                                       "N_A" = "88")) %>%
        mutate(TNM_PATH_STAGE_GROUP = fct_recode(TNM_PATH_STAGE_GROUP,
                                       "N_A" = "88")) %>%
        mutate(MARGINS = fct_recode(RX_SUMM_SURGICAL_MARGINS,
                                    "No Residual" = "0",
                                    "Residual, NOS" = "1",
                                    "Microscopic Resid" = "2",
                                    "Macroscopic Resid" = "3",
                                    "Not evaluable" = "7",
                                    "No surg" = "8",
                                    "Unknown" = "9")) %>%
        mutate(MARGINS_YN = fct_collapse(RX_SUMM_SURGICAL_MARGINS,
                                         "Yes" = c("1", "2", "3"),
                                         "No" = c("0"),
                                         "No surg/Unk/NA" = c("7", "8", "9"))) %>%
        mutate(READM_HOSP_30_DAYS_F = fct_recode(READM_HOSP_30_DAYS,
                                                 "No_Surg_or_No_Readmit" = "0",
                                                 "Unplan_Readmit_Same" = "1",
                                                 "Plan_Readmit_Same" = "2",
                                                 "PlanUnplan_Same" = "3",
                                                 "Unknown" = "4")) %>%
        mutate(RX_SUMM_RADIATION_F = fct_recode(RX_SUMM_RADIATION,
                                                "None" = "0",
                                                "Beam Radiation" = "1",
                                                "Radioactive Implants" = "2",
                                                "Radioisotopes" = "3",
                                                "Beam + Imp or Isotopes" = "4",
                                                "Radiation, NOS" = "5",
                                                "Unknown" = "9")) %>%
        mutate(PUF_30_DAY_MORT_CD_F = fct_recode(PUF_30_DAY_MORT_CD,
                                                 "Alive_30" = "0",
                                                 "Dead_30" = "1",
                                                 "Unknown" = "9")) %>%
        mutate(PUF_90_DAY_MORT_CD_F = fct_recode(PUF_90_DAY_MORT_CD,
                                                 "Alive_90" = "0",
                                                 "Dead_90" = "1",
                                                 "Unknown" = "9")) %>%
        mutate(LYMPH_VASCULAR_INVASION_F = fct_recode(LYMPH_VASCULAR_INVASION,
                                                      "Neg_LymphVasc_Inv" = "0",
                                                      "Pos_LumphVasc_Inv" = "1",
                                                      "N_A" = "8",
                                                      "Unknown" = "9")) %>%
        mutate(RX_HOSP_SURG_APPR_2010_F = fct_recode(RX_HOSP_SURG_APPR_2010,
                                                     "No_Surg" = "0",
                                                     "Robot_Assist" = "1",
                                                     "Robot_to_Open" = "2",
                                                     "Endo_Lap" = "3",
                                                     "Endo_Lap_to_Open" = "4",
                                                     "Open_Unknown" = "5",
                                                     "Unknown" = "9")) %>%
        mutate(All = "All") %>%
        mutate(All = factor(All)) %>%
        mutate(REASON_FOR_NO_SURGERY_F = fct_recode(REASON_FOR_NO_SURGERY,
                                                    "Surg performed" = "0",
                                                    "Surg not recommended" = "1",
                                                    "No surg due to pt factors" = "2",
                                                    "No surg, pt died" = "5",
                                                    "Surg rec, not done" = "6",
                                                    "Surg rec, pt refused" = "7",
                                                    "Surg rec, unk if done" = "8",
                                                    "Unknown" = "9")) %>%
        mutate(SURGERY_YN = ifelse(REASON_FOR_NO_SURGERY == "0",
                                   "Yes",
                                   ifelse(REASON_FOR_NO_SURGERY == "9",
                                          "Ukn",
                                          "No"))) %>%
        mutate(SURG_TF = case_when(SURGERY_YN == "Yes" ~ TRUE,
                             SURGERY_YN == "No" ~ FALSE,
                             TRUE ~ NA))  %>%
        mutate(REASON_FOR_NO_RADIATION_F = fct_recode(REASON_FOR_NO_RADIATION,
                                                    "Rad performed" = "0",
                                                    "Rad not recommended" = "1",
                                                    "No Rad due to pt factors" = "2",
                                                    "No Rad, pt died" = "5",
                                                    "Rad rec, not done" = "6",
                                                    "Rad rec, pt refused" = "7",
                                                    "Rad rec, unk if done" = "8",
                                                    "Unknown" = "9")) %>%
        mutate(RADIATION_YN = ifelse(REASON_FOR_NO_RADIATION == "0",
                                   "Yes",
                                   ifelse(REASON_FOR_NO_RADIATION == "9",
                                          NA,
                                          "No"))) %>%
        mutate(SURGRAD_SEQ_F = fct_recode(RX_SUMM_SURGRAD_SEQ,
                                                   "None or Surg or Rad" = "0",
                                                   "Rad before Surg" = "2",
                                                   "Surg before Rad" = "3",
                                                   "Rad before and after Surg" = "4",
                                                   "Intraop Rad" = "5",
                                                   "Intraop Rad plus other" = "6",
                                                   "Unknown" = "9")) %>%
        mutate(SURG_RAD_SEQ = ifelse(SURGERY_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0",
                                     "Surg Alone",
                                     ifelse(RADIATION_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0",
                                            "Rad Alone",
                                            ifelse(SURGERY_YN == "No" & RADIATION_YN == "No" & RX_SUMM_SURGRAD_SEQ == "0",
                                                   "No Treatment",
                                                   ifelse(RX_SUMM_SURGRAD_SEQ == "2",
                                                          "Rad then Surg",
                                                          ifelse(RX_SUMM_SURGRAD_SEQ == "3",
                                                                 "Surg then Rad",
                                                                 ifelse(RX_SUMM_SURGRAD_SEQ == "4",
                                                                        "Rad before and after Surg",
                                                                        "Other"))))))) %>%
        mutate(SURG_RAD_SEQ = fct_relevel(SURG_RAD_SEQ,
                                          "Surg Alone",
                                          "Surg then Rad",
                                          "Rad Alone")) %>%
        mutate(CHEMO_YN = fct_collapse(RX_SUMM_CHEMO,
                                       "No" = c("00", "82", "85", "86", "87"),
                                       "Yes" = c("01", "02", "03"),
                                       "Ukn" = c("88", "99"))) %>%
        mutate(SURG_RAD_SEQ_C = ifelse(SURGERY_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "No",
                                     "Surg, No rad, No Chemo",
                                     ifelse(RADIATION_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "No",
                                            "Rad, No Surg, No Chemo",
                                            ifelse(SURGERY_YN == "No" & RADIATION_YN == "No" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "No",
                                                   "No Surg, No Rad, No Chemo",
                                                   ifelse(RX_SUMM_SURGRAD_SEQ == "2" & CHEMO_YN == "No",
                                                          "Rad then Surg, No Chemo",
                                                          ifelse(RX_SUMM_SURGRAD_SEQ == "3" & CHEMO_YN == "No",
                                                                 "Surg then Rad, No Chemo",
                                                                 ifelse(RX_SUMM_SURGRAD_SEQ == "4" & CHEMO_YN == "No",
                                                                        "Rad before and after Surg, No Chemo",
                                ifelse(SURGERY_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "Yes",
                                       "Surg, No rad, Yes Chemo",
                                       ifelse(RADIATION_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "Yes",
                                              "Rad, No Surg, Yes Chemo",
                                              ifelse(SURGERY_YN == "No" & RADIATION_YN == "No" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "Yes",
                                                     "No Surg, No Rad, Yes Chemo",
                                                     ifelse(RX_SUMM_SURGRAD_SEQ == "2" & CHEMO_YN == "Yes",
                                                            "Rad then Surg, Yes Chemo",
                                                            ifelse(RX_SUMM_SURGRAD_SEQ == "3" & CHEMO_YN == "Yes",
                                                                   "Surg then Rad, Yes Chemo",
                                                                   ifelse(RX_SUMM_SURGRAD_SEQ == "4" & CHEMO_YN == "Yes",
                                                                          "Rad before and after Surg, Yes Chemo",
                                                                          "Other"))))))))))))) %>%
        mutate(SURG_RAD_SEQ_C = fct_infreq(SURG_RAD_SEQ_C)) %>%
        mutate(T_SIZE = as.numeric(TUMOR_SIZE)) %>%
        mutate(T_SIZE = ifelse(T_SIZE == 0,
                                "No Tumor",
                                ifelse(T_SIZE > 0 & T_SIZE < 10 | T_SIZE == 991,
                                       "< 1 cm",
                                       ifelse(T_SIZE >= 10 & T_SIZE < 20 | T_SIZE == 992,
                                              "1-2 cm",
                                              ifelse(T_SIZE >= 20 & T_SIZE < 30 | T_SIZE == 993,
                                                     "2-3 cm",
                                                     ifelse(T_SIZE >= 30 & T_SIZE < 40 | T_SIZE == 994,
                                                            "3-4 cm",
                                                            ifelse(T_SIZE >= 40 & T_SIZE < 50 | T_SIZE == 995,
                                                                   "4-5 cm",
                                                                   ifelse(T_SIZE >= 50 & T_SIZE < 60 | T_SIZE == 996,
                                                                          "5-6 cm",
                                                                          ifelse(T_SIZE >= 60 & T_SIZE <= 987 |
                                                                                         T_SIZE == 980 | T_SIZE == 989 |
                                                                                         T_SIZE == 997,
                                                                          ">6 cm",
                                                                          ifelse(T_SIZE == 988 | T_SIZE == 999,
                                                                                 "NA_unk",
                                                                                 "Microscopic focus")))))))))) %>%
        mutate(T_SIZE = factor(T_SIZE)) %>%
        mutate(T_SIZE = fct_relevel(T_SIZE,
                                     "No Tumor", "Microscopic focus", "< 1 cm", "1-2 cm", "2-3 cm", "3-4 cm",
                                       "4-5 cm", "5-6 cm", ">6 cm", "NA_unk")) %>%
        mutate(mets_at_dx = case_when(CS_METS_DX_LUNG == "1" ~ "Lung",
                                      CS_METS_DX_BONE == "1" ~ "Bone",
                                      CS_METS_DX_BRAIN == "1" ~ "Brain",
                                      CS_METS_DX_LIVER == "1" ~ "Liver",
                                      TRUE ~ "None/Other/Unk/NA")) %>%
        mutate(MEDICAID_EXPN_CODE = fct_recode(MEDICAID_EXPN_CODE,
                                               "Non-Expansion State" = "0",
                                               "Jan 2014 Expansion States" = "1",
                                               "Early Expansion States (2010-13)" = "2",
                                               "Late Expansion States (> Jan 2014)" = "3",
                                               "Suppressed for Ages 0 - 39" = "9"))  %>%
        mutate(EXPN_GROUP =  case_when(MEDICAID_EXPN_CODE  %in% c("Jan 2014 Expansion States") & 
                                         YEAR_OF_DIAGNOSIS %in% c("2014", "2015") ~ "Post-Expansion",
                                       
                                       MEDICAID_EXPN_CODE  %in% c("Jan 2014 Expansion States") & 
                                         YEAR_OF_DIAGNOSIS %in% 
                                          c("2004", "2005", "2006", "2007", "2008", 
                                            "2009", "2010", "2011", "2012", "2013") ~ "Pre-Expansion",
               
                                       MEDICAID_EXPN_CODE  %in% c("Early Expansion States (2010-13)") & 
                                         YEAR_OF_DIAGNOSIS %in% c("2010", "2011", "2012", "2013", "2014", "2015") ~ "Post-Expansion",
                                       
                                        MEDICAID_EXPN_CODE  %in% c("Early Expansion States (2010-13)") & 
                                         YEAR_OF_DIAGNOSIS %in% c("2004", "2005", "2006", "2007", "2008", "2009") ~ "Pre-Expansion",
                                       MEDICAID_EXPN_CODE %in% c("Non-Expansion State") ~ "Pre-Expansion",
                                       MEDICAID_EXPN_CODE %in% c("Late Expansion States (> Jan 2014)") ~ "Pre-Expansion",
                    
                                       MEDICAID_EXPN_CODE %in% c("Late Expansion States (> Jan 2014)") & 
                                        YEAR_OF_DIAGNOSIS %in% c("2014", "2015") ~ "Exclude",
                                       
                                       MEDICAID_EXPN_CODE == "Suppressed for Ages 0 - 39" ~ "Exclude")) %>%
  
  mutate(pre_2014 = YEAR_OF_DIAGNOSIS %in% c("2004", "2005", "2006", "2007", "2008", 
                                            "2009", "2010", "2011", "2012", "2013")) %>%
  
  mutate(mets_at_dx_F = ifelse(mets_at_dx == "None/Other/Unk/NA", FALSE, TRUE)) %>% 
  
  mutate(Tx_YN = ifelse(SURG_RAD_SEQ == "No Treatment" & CHEMO_YN == "No", FALSE, 
                        ifelse(CHEMO_YN == "Ukn", NA, 
                               TRUE)))
fact_vars_2 <- c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "AGE_F", "SEX_F", "RACE_F",
                 "HISPANIC", "INSURANCE_F", "INCOME_F", "EDUCATION_F", "U_R_F",
                 "CDCC_TOTAL_BEST", "CLASS_OF_CASE_F", "YEAR_OF_DIAGNOSIS", "PRIMARY_SITE", "HISTOLOGY",
                 "BEHAVIOR", "GRADE_F", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
                 "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M", "TNM_PATH_STAGE_GROUP",
                 "MARGINS", "READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
                 "PUF_90_DAY_MORT_CD_F", "LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "mets_at_dx")
dat <- dat %>%
        mutate_at(fact_vars_2, funs(factor(.)))

Extract Data of Interest

# Non-Hodgkin Lymphoma Sites
site_code <- c("C001","C098", "C099", "C111", "C142", "C379", "C422","C770",
"C771","C772","C773","C774", "C775", "C778","C779", 
#additional sites
"C300", "C019", "C021", 
"C029", "C030", "C039", "C049", "C050", "C051", "C052",  "C058", "C059", "C060",
"C061", "C069", "C000", "C001", "C002", "C003", "C004", "C005", "C006", "C008",
"C009", "C019", "C020", "C021", "C022", "C023", "C024", "C028", "C029", "C030",
"C031", "C039", "C040", "C041", "C049", "C050", "C051", "C052", "C058", "C059",
"C060", "C061", "C062", "C068", "C069", "C079")
#mycosis fungoides, Sezary syndrome, subcutaneous panniculitis-like T-cell lymphoma,
#cutaneous T-cell lymphoma, NOS, primary cutaneous CD30+T-cell lymphoma, 
#NK/T-cell lymphoma, primary cutaneous gamma-delta T-cell lymphoma, 
#and blastic NK cell lymphoma, respectively
histo_code <- c("9700", "9701", "9708", "9709", "9718", "9719", "9726", "9727")
behavior_code <- c("3")
data <- dat %>%
        filter(BEHAVIOR %in% behavior_code) %>%
        filter(PRIMARY_SITE %in% site_code) %>%
        filter(HISTOLOGY %in% histo_code) %>%
        #filter(AGE >= 18) %>%
        filter(is.na(PUF_VITAL_STATUS) == FALSE) %>%
        filter(is.na(DX_LASTCONTACT_DEATH_MONTHS) == FALSE)  %>%
        filter(SEQUENCE_NUMBER == "00") 
file_path <- c("/Users/beastatlife/Google Drive/Penn/Research/Barbieri/NCDB")
save(data,
      file = paste0(file_path, "/MF_data.Rda"))
#load("MF_data.Rda")

Data including skin tumors was obtained from the NCBD on October 7, 2019. Cases that were included in this analysis were those with:

  1. Site codes: C001, C098, C099, C111, C142, C379, C422, C770, C771, C772, C773, C774, C775, C778, C779, C300, C019, C021, C029, C030, C039, C049, C050, C051, C052, C058, C059, C060, C061, C069, C000, C001, C002, C003, C004, C005, C006, C008, C009, C019, C020, C021, C022, C023, C024, C028, C029, C030, C031, C039, C040, C041, C049, C050, C051, C052, C058, C059, C060, C061, C062, C068, C069, C079
  2. Histology codes: 9700, 9701, 9708, 9709, 9718, 9719, 9726, 9727
  3. Behavior codes: 3

Patients were excluded if they didn’t have values for either follow up or vital status.

Patients were excluded if they had surgery to a distant site using RX_SUMM_SURG_OTH_REGDIS. This was done to avoid confounding of different surgical procedures. We are only interested in surgery at the primary site. These distant site surgeries were being counted in the surgery/radiation sequence and thus to simplify analysis they were removed.

data %>%
        CreateTableOne(data = .,
                     vars = c("RX_SUMM_SURG_OTH_REGDIS"),
                     includeNA = TRUE) %>%
        print(.,
              showAllLevels = TRUE)
                             
                              level Overall     
  n                                 1488        
  RX_SUMM_SURG_OTH_REGDIS (%) 0     1391 (93.5) 
                              1       15 ( 1.0) 
                              2       11 ( 0.7) 
                              3        0 ( 0.0) 
                              4       17 ( 1.1) 
                              5        1 ( 0.1) 
                              9       53 ( 3.6) 
data <- data %>%
        filter(RX_SUMM_SURG_OTH_REGDIS == "0") 

Race was grouped as white, black, asian, other/unknown Stage was grouped into 0, I, II, III, IV, NA_Unknown, stage 0 was removed Whether surgery was performed was based on the REASON_FOR_NO_SURGERY variable. The SURGERY_YN variable was classified as ‘Yes’, ‘No’, or ‘Unknown’.

Whether radiation was performed was based on the REASON_FOR_NO_RADIATION variable. The RADIATION_YN variable was classified as ‘Yes’, ‘No’, or ‘Unknown’.

Table of variables for all cases:

p_table(data,
        vars = c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "FACILITY_GEOGRAPHY",  "AGE", "AGE_F", "AGE_40",
                 "SEX_F", "RACE_F", "HISPANIC", "INSURANCE_F", 
                 "INCOME_F", "EDUCATION_F", "U_R_F", "CROWFLY", "CDCC_TOTAL_BEST",
                 "SITE_TEXT", "BEHAVIOR", "GRADE_F",
                 "DX_STAGING_PROC_DAYS", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
                 "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
                 "TNM_PATH_STAGE_GROUP", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
                 "DX_DEFSURG_STARTED_DAYS", "MARGINS", "MARGINS_YN", "SURG_DISCHARGE_DAYS",
                 "READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
                 "PUF_90_DAY_MORT_CD_F", "DX_LASTCONTACT_DEATH_MONTHS", 
                 "LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "SURG_RAD_SEQ",
                 "SURG_RAD_SEQ_C", "SURGERY_YN", "RADIATION_YN", "CHEMO_YN", "mets_at_dx",
                 "MEDICAID_EXPN_CODE", "EXPN_GROUP"))

level Overall
n 1391
FACILITY_TYPE_F (%) Community Cancer Program 41 ( 2.9)
Comprehensive Comm Ca Program 251 ( 18.0)
Academic/Research Program 499 ( 35.9)
Integrated Network Ca Program 94 ( 6.8)
NA 506 ( 36.4)
FACILITY_LOCATION_F (%) New England 49 ( 3.5)
Middle Atlantic 138 ( 9.9)
South Atlantic 172 ( 12.4)
East North Central 118 ( 8.5)
East South Central 39 ( 2.8)
West North Central 76 ( 5.5)
West South Central 79 ( 5.7)
Mountain 32 ( 2.3)
Pacific 182 ( 13.1)
NA 506 ( 36.4)
FACILITY_GEOGRAPHY (%) Northeast 187 ( 13.4)
South 251 ( 18.0)
Midwest 233 ( 16.8)
West 214 ( 15.4)
NA 506 ( 36.4)
AGE (mean (sd)) 46.39 (20.80)
AGE_F (%) (0,54] 875 ( 62.9)
(54,64] 229 ( 16.5)
(64,74] 161 ( 11.6)
(74,100] 126 ( 9.1)
AGE_40 (%) (0,40] 527 ( 37.9)
(40,100] 864 ( 62.1)
SEX_F (%) Male 933 ( 67.1)
Female 458 ( 32.9)
RACE_F (%) White 1064 ( 76.5)
Black 154 ( 11.1)
Other/Unk 56 ( 4.0)
Asian 117 ( 8.4)
HISPANIC (%) No 999 ( 71.8)
Yes 328 ( 23.6)
Unknown 64 ( 4.6)
INSURANCE_F (%) Private 697 ( 50.1)
None 132 ( 9.5)
Medicaid 220 ( 15.8)
Medicare 274 ( 19.7)
Other Government 28 ( 2.0)
Unknown 40 ( 2.9)
INCOME_F (%) Less than $38,000 252 ( 18.1)
$38,000 - $47,999 314 ( 22.6)
$48,000 - $62,999 379 ( 27.2)
$63,000 + 433 ( 31.1)
NA 13 ( 0.9)
EDUCATION_F (%) 21% or more 326 ( 23.4)
13 - 20.9% 369 ( 26.5)
7 - 12.9% 392 ( 28.2)
Less than 7% 293 ( 21.1)
NA 11 ( 0.8)
U_R_F (%) Metro 1169 ( 84.0)
Urban 161 ( 11.6)
Rural 21 ( 1.5)
NA 40 ( 2.9)
CROWFLY (mean (sd)) 42.53 (135.38)
CDCC_TOTAL_BEST (%) 0 1186 ( 85.3)
1 155 ( 11.1)
2 30 ( 2.2)
3 20 ( 1.4)
SITE_TEXT (%) C00.0 External Lip: Upper NOS 0 ( 0.0)
C00.1 External Lip: Lower NOS 0 ( 0.0)
C00.2 External Lip: NOS 0 ( 0.0)
C00.3 Lip: Upper Mucosa 0 ( 0.0)
C00.4 Lip: Lower Mucosa 0 ( 0.0)
C00.5 Lip: Mucosa NOS 0 ( 0.0)
C00.6 Lip: Commissure 0 ( 0.0)
C00.8 Lip: Overlapping 0 ( 0.0)
C00.9 Lip NOS 0 ( 0.0)
C01.9 Tongue: Base NOS 5 ( 0.4)
C02.0 Tongue: Dorsal NOS 0 ( 0.0)
C02.1 Tongue: Border, Tip 1 ( 0.1)
C02.2 Tongue: Ventral NOS 0 ( 0.0)
C02.3 Tongue: Anterior NOS 0 ( 0.0)
C02.4 Lingual Tonsil 0 ( 0.0)
C02.8 Tongue: Overlapping 0 ( 0.0)
C02.9 Tongue: NOS 1 ( 0.1)
C03.0 Gum: Upper 1 ( 0.1)
C03.1 Gum: Lower 0 ( 0.0)
C03.9 Gum NOS 1 ( 0.1)
C04.0 Mouth: Anterior Floor 0 ( 0.0)
C04.1 Mouth: Lateral Floor 0 ( 0.0)
C04.9 Floor of Mouth NOS 1 ( 0.1)
C05.0 Hard Palate 15 ( 1.1)
C05.1 Soft Palate NOS 9 ( 0.6)
C05.2 Uvula 0 ( 0.0)
C05.8 Palate: Overlapping 2 ( 0.1)
C05.9 Palate NOS 4 ( 0.3)
C06.0 Cheek Mucosa 3 ( 0.2)
C06.1 Mouth: Vestibule 2 ( 0.1)
C06.2 Retromolar Area 0 ( 0.0)
C06.8 Mouth: Other Overlapping 0 ( 0.0)
C06.9 Mouth NOS 1 ( 0.1)
C07.9 Parotid Gland 1 ( 0.1)
C09.8 Tonsil: Overlapping 1 ( 0.1)
C09.9 Tonsil NOS 9 ( 0.6)
C11.1 Nasopharynx: Poster Wall 2 ( 0.1)
C14.2 Waldeyer Ring 4 ( 0.3)
C30.0 Nasal Cavity 572 ( 41.1)
C37.9 Thymus 4 ( 0.3)
C42.2 Spleen 4 ( 0.3)
C77.0 Lymph Nodes: HeadFaceNeck 75 ( 5.4)
C77.1 Intrathoracic Lymph Nodes 97 ( 7.0)
C77.2 Intra-abdominal LymphNodes 27 ( 1.9)
C77.3 Lymph Nodes of axilla or arm 26 ( 1.9)
C77.4 Lymph Nodes: Leg 20 ( 1.4)
C77.5 Pelvic Lymph Nodes 6 ( 0.4)
C77.8 Lymph Nodes: multiple region 226 ( 16.2)
C77.9 Lymph Node NOS 271 ( 19.5)
BEHAVIOR (%) 2 0 ( 0.0)
3 1391 (100.0)
GRADE_F (%) Gr I: Well Diff 0 ( 0.0)
Gr II: Mod Diff 0 ( 0.0)
Gr III: Poor Diff 2 ( 0.1)
Gr IV: Undiff/Anaplastic 1 ( 0.1)
5 458 ( 32.9)
6 122 ( 8.8)
7 5 ( 0.4)
8 620 ( 44.6)
NA/Unkown 183 ( 13.2)
DX_STAGING_PROC_DAYS (mean (sd)) 2.64 (26.52)
TNM_CLIN_T (%) N_A 1319 ( 94.8)
c0 0 ( 0.0)
c1 0 ( 0.0)
c1A 0 ( 0.0)
c1B 0 ( 0.0)
c1C 0 ( 0.0)
c1MI 0 ( 0.0)
c2 1 ( 0.1)
c2A 0 ( 0.0)
c2B 0 ( 0.0)
c2C 0 ( 0.0)
c2D 0 ( 0.0)
c3 0 ( 0.0)
c3A 0 ( 0.0)
c3B 0 ( 0.0)
c4 0 ( 0.0)
c4A 0 ( 0.0)
c4B 0 ( 0.0)
c4C 0 ( 0.0)
c4D 0 ( 0.0)
cX 9 ( 0.6)
pA 0 ( 0.0)
pIS 0 ( 0.0)
NA 62 ( 4.5)
TNM_CLIN_N (%) N_A 1319 ( 94.8)
c0 1 ( 0.1)
c1 0 ( 0.0)
c1A 0 ( 0.0)
c1B 0 ( 0.0)
c2 0 ( 0.0)
c2A 0 ( 0.0)
c2B 0 ( 0.0)
c2C 0 ( 0.0)
c3 0 ( 0.0)
c3A 0 ( 0.0)
c3B 0 ( 0.0)
c3C 0 ( 0.0)
c4 0 ( 0.0)
cX 9 ( 0.6)
NA 62 ( 4.5)
TNM_CLIN_M (%) N_A 1319 ( 94.8)
c0 10 ( 0.7)
c0I+ 0 ( 0.0)
c1 0 ( 0.0)
c1A 0 ( 0.0)
c1B 0 ( 0.0)
c1C 0 ( 0.0)
NA 62 ( 4.5)
TNM_CLIN_STAGE_GROUP (%) 0 0 ( 0.0)
1 197 ( 14.2)
1A 173 ( 12.4)
1B 40 ( 2.9)
1C 0 ( 0.0)
2 108 ( 7.8)
2A 72 ( 5.2)
2B 53 ( 3.8)
2C 0 ( 0.0)
3 39 ( 2.8)
3A 33 ( 2.4)
3B 24 ( 1.7)
3C 0 ( 0.0)
4 202 ( 14.5)
4A 102 ( 7.3)
4A1 0 ( 0.0)
4A2 0 ( 0.0)
4B 111 ( 8.0)
4C 0 ( 0.0)
N_A 8 ( 0.6)
99 229 ( 16.5)
TNM_PATH_T (%) N_A 1291 ( 92.8)
p0 0 ( 0.0)
p1 0 ( 0.0)
p1A 0 ( 0.0)
p1B 0 ( 0.0)
p1C 0 ( 0.0)
p1MI 0 ( 0.0)
p2 1 ( 0.1)
p2A 0 ( 0.0)
p2B 0 ( 0.0)
p2C 0 ( 0.0)
p2D 0 ( 0.0)
p3 0 ( 0.0)
p3A 0 ( 0.0)
p3B 0 ( 0.0)
p4 0 ( 0.0)
p4A 0 ( 0.0)
p4B 0 ( 0.0)
p4C 0 ( 0.0)
p4D 0 ( 0.0)
pA 0 ( 0.0)
pIS 0 ( 0.0)
pX 9 ( 0.6)
NA 90 ( 6.5)
TNM_PATH_N (%) N_A 1290 ( 92.7)
p0 0 ( 0.0)
p0I- 0 ( 0.0)
p0I+ 0 ( 0.0)
p0M- 0 ( 0.0)
p0M+ 0 ( 0.0)
p1 0 ( 0.0)
p1A 0 ( 0.0)
p1B 0 ( 0.0)
p1C 0 ( 0.0)
p1MI 0 ( 0.0)
p2 0 ( 0.0)
p2A 0 ( 0.0)
p2B 0 ( 0.0)
p2C 0 ( 0.0)
p3 0 ( 0.0)
p3A 0 ( 0.0)
p3B 0 ( 0.0)
p3C 0 ( 0.0)
p4 0 ( 0.0)
pX 10 ( 0.7)
NA 91 ( 6.5)
TNM_PATH_M (%) N_A 1247 ( 89.6)
p0 0 ( 0.0)
p1 0 ( 0.0)
p1A 0 ( 0.0)
p1B 0 ( 0.0)
p1C 0 ( 0.0)
pX 10 ( 0.7)
NA 134 ( 9.6)
TNM_PATH_STAGE_GROUP (%) 0 0 ( 0.0)
1 86 ( 6.2)
1A 48 ( 3.5)
1B 15 ( 1.1)
1C 0 ( 0.0)
2 41 ( 2.9)
2A 20 ( 1.4)
2B 14 ( 1.0)
2C 0 ( 0.0)
3 16 ( 1.2)
3A 6 ( 0.4)
3B 5 ( 0.4)
3C 0 ( 0.0)
4 88 ( 6.3)
4A 33 ( 2.4)
4A1 0 ( 0.0)
4B 41 ( 2.9)
4C 0 ( 0.0)
N_A 8 ( 0.6)
99 858 ( 61.7)
NA 112 ( 8.1)
DX_RX_STARTED_DAYS (mean (sd)) 23.96 (33.28)
DX_SURG_STARTED_DAYS (mean (sd)) 4.93 (25.21)
DX_DEFSURG_STARTED_DAYS (mean (sd)) 5.48 (25.57)
MARGINS (%) No Residual 24 ( 1.7)
Residual, NOS 10 ( 0.7)
Microscopic Resid 0 ( 0.0)
Macroscopic Resid 8 ( 0.6)
Not evaluable 34 ( 2.4)
No surg 940 ( 67.6)
Unknown 375 ( 27.0)
MARGINS_YN (%) No 24 ( 1.7)
Yes 18 ( 1.3)
No surg/Unk/NA 1349 ( 97.0)
SURG_DISCHARGE_DAYS (mean (sd)) 4.33 (10.80)
READM_HOSP_30_DAYS_F (%) No_Surg_or_No_Readmit 1331 ( 95.7)
Unplan_Readmit_Same 13 ( 0.9)
Plan_Readmit_Same 10 ( 0.7)
PlanUnplan_Same 1 ( 0.1)
9 36 ( 2.6)
RX_SUMM_RADIATION_F (%) None 816 ( 58.7)
Beam Radiation 563 ( 40.5)
Radioactive Implants 0 ( 0.0)
Radioisotopes 0 ( 0.0)
Beam + Imp or Isotopes 0 ( 0.0)
Radiation, NOS 3 ( 0.2)
Unknown 9 ( 0.6)
PUF_30_DAY_MORT_CD_F (%) Alive_30 224 ( 16.1)
Dead_30 11 ( 0.8)
Unknown 3 ( 0.2)
NA 1153 ( 82.9)
PUF_90_DAY_MORT_CD_F (%) Alive_90 205 ( 14.7)
Dead_90 30 ( 2.2)
Unknown 3 ( 0.2)
NA 1153 ( 82.9)
DX_LASTCONTACT_DEATH_MONTHS (mean (sd)) 37.80 (41.55)
LYMPH_VASCULAR_INVASION_F (%) Neg_LymphVasc_Inv 0 ( 0.0)
Pos_LumphVasc_Inv 0 ( 0.0)
N_A 689 ( 49.5)
Unknown 0 ( 0.0)
NA 702 ( 50.5)
RX_HOSP_SURG_APPR_2010_F (%) No_Surg 419 ( 30.1)
Robot_Assist 1 ( 0.1)
Robot_to_Open 0 ( 0.0)
Endo_Lap 37 ( 2.7)
Endo_Lap_to_Open 0 ( 0.0)
Open_Unknown 31 ( 2.2)
Unknown 201 ( 14.5)
NA 702 ( 50.5)
SURG_RAD_SEQ (%) Surg Alone 126 ( 9.1)
Surg then Rad 111 ( 8.0)
Rad Alone 425 ( 30.6)
No Treatment 659 ( 47.4)
Other 68 ( 4.9)
Rad before and after Surg 0 ( 0.0)
Rad then Surg 2 ( 0.1)
SURG_RAD_SEQ_C (%) Surg, No rad, No Chemo 42 ( 3.0)
Surg then Rad, No Chemo 25 ( 1.8)
Surg then Rad, Yes Chemo 84 ( 6.0)
Surg, No rad, Yes Chemo 82 ( 5.9)
No Surg, No Rad, Yes Chemo 508 ( 36.5)
No Surg, No Rad, No Chemo 130 ( 9.3)
Other 101 ( 7.3)
Rad, No Surg, Yes Chemo 346 ( 24.9)
Rad, No Surg, No Chemo 71 ( 5.1)
Rad then Surg, Yes Chemo 2 ( 0.1)
Rad then Surg, No Chemo 0 ( 0.0)
Rad before and after Surg, Yes Chemo 0 ( 0.0)
Rad before and after Surg, No Chemo 0 ( 0.0)
SURGERY_YN (%) No 1116 ( 80.2)
Ukn 33 ( 2.4)
Yes 242 ( 17.4)
RADIATION_YN (%) No 806 ( 57.9)
Yes 566 ( 40.7)
NA 19 ( 1.4)
CHEMO_YN (%) No 287 ( 20.6)
Yes 1066 ( 76.6)
Ukn 38 ( 2.7)
mets_at_dx (%) Bone 0 ( 0.0)
Brain 0 ( 0.0)
Liver 0 ( 0.0)
Lung 0 ( 0.0)
None/Other/Unk/NA 1391 (100.0)
MEDICAID_EXPN_CODE (%) Non-Expansion State 279 ( 20.1)
Jan 2014 Expansion States 281 ( 20.2)
Early Expansion States (2010-13) 231 ( 16.6)
Late Expansion States (> Jan 2014) 94 ( 6.8)
Suppressed for Ages 0 - 39 506 ( 36.4)
EXPN_GROUP (%) Exclude 506 ( 36.4)
Post-Expansion 183 ( 13.2)
Pre-Expansion 702 ( 50.5)

p_table(no_Excludes,
        vars = c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "FACILITY_GEOGRAPHY",  "AGE", "AGE_F", "AGE_40",
                 "SEX_F", "RACE_F", "HISPANIC", "INSURANCE_F", 
                 "INCOME_F", "EDUCATION_F", "U_R_F", "CROWFLY", "CDCC_TOTAL_BEST",
                 "SITE_TEXT", "BEHAVIOR", "GRADE_F",
                 "DX_STAGING_PROC_DAYS", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
                 "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
                 "TNM_PATH_STAGE_GROUP", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
                 "DX_DEFSURG_STARTED_DAYS", "MARGINS", "MARGINS_YN", "SURG_DISCHARGE_DAYS",
                 "READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
                 "PUF_90_DAY_MORT_CD_F", "DX_LASTCONTACT_DEATH_MONTHS", 
                 "LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "SURG_RAD_SEQ",
                 "SURG_RAD_SEQ_C", "T_SIZE", "SURGERY_YN", "RADIATION_YN", "CHEMO_YN", "mets_at_dx",
                 "MEDICAID_EXPN_CODE"), 
        strata = "EXPN_GROUP")

level Post-Expansion Pre-Expansion p test
n 144 562
FACILITY_TYPE_F (%) Community Cancer Program 2 ( 1.4) 11 ( 2.0) <0.001
Comprehensive Comm Ca Program 39 ( 27.1) 211 ( 37.5)
Academic/Research Program 90 ( 62.5) 231 ( 41.1)
Integrated Network Ca Program 13 ( 9.0) 109 ( 19.4)
FACILITY_LOCATION_F (%) New England 18 ( 12.5) 18 ( 3.2) <0.001
Middle Atlantic 31 ( 21.5) 94 ( 16.7)
South Atlantic 7 ( 4.9) 118 ( 21.0)
East North Central 14 ( 9.7) 112 ( 19.9)
East South Central 4 ( 2.8) 40 ( 7.1)
West North Central 24 ( 16.7) 54 ( 9.6)
West South Central 0 ( 0.0) 46 ( 8.2)
Mountain 2 ( 1.4) 37 ( 6.6)
Pacific 44 ( 30.6) 43 ( 7.7)
FACILITY_GEOGRAPHY (%) Northeast 49 ( 34.0) 112 ( 19.9) <0.001
South 7 ( 4.9) 164 ( 29.2)
Midwest 42 ( 29.2) 206 ( 36.7)
West 46 ( 31.9) 80 ( 14.2)
AGE (mean (sd)) 70.54 (12.26) 70.72 (11.57) 0.869
AGE_F (%) (0,54] 14 ( 9.7) 55 ( 9.8) 0.802
(54,64] 31 ( 21.5) 115 ( 20.5)
(64,74] 48 ( 33.3) 169 ( 30.1)
(74,100] 51 ( 35.4) 223 ( 39.7)
AGE_40 (%) (0,40] 0 ( 0.0) 2 ( 0.4) 1.000
(40,100] 144 (100.0) 560 ( 99.6)
SEX_F (%) Male 29 ( 20.1) 104 ( 18.5) 0.743
Female 115 ( 79.9) 458 ( 81.5)
RACE_F (%) White 127 ( 88.2) 508 ( 90.4) 0.360
Black 4 ( 2.8) 12 ( 2.1)
Other/Unk 2 ( 1.4) 16 ( 2.8)
Asian 11 ( 7.6) 26 ( 4.6)
HISPANIC (%) No 138 ( 95.8) 511 ( 90.9) 0.096
Yes 4 ( 2.8) 20 ( 3.6)
Unknown 2 ( 1.4) 31 ( 5.5)
INSURANCE_F (%) Private 52 ( 36.1) 187 ( 33.3) 0.900
None 2 ( 1.4) 9 ( 1.6)
Medicaid 4 ( 2.8) 12 ( 2.1)
Medicare 85 ( 59.0) 352 ( 62.6)
Other Government 1 ( 0.7) 2 ( 0.4)
INCOME_F (%) Less than $38,000 11 ( 7.6) 71 ( 12.6) <0.001
$38,000 - $47,999 22 ( 15.3) 145 ( 25.8)
$48,000 - $62,999 32 ( 22.2) 149 ( 26.5)
$63,000 + 78 ( 54.2) 195 ( 34.7)
NA 1 ( 0.7) 2 ( 0.4)
EDUCATION_F (%) 21% or more 21 ( 14.6) 69 ( 12.3) 0.656
13 - 20.9% 28 ( 19.4) 120 ( 21.4)
7 - 12.9% 48 ( 33.3) 215 ( 38.3)
Less than 7% 46 ( 31.9) 156 ( 27.8)
NA 1 ( 0.7) 2 ( 0.4)
U_R_F (%) Metro 121 ( 84.0) 471 ( 83.8) 0.049
Urban 13 ( 9.0) 67 ( 11.9)
Rural 2 ( 1.4) 14 ( 2.5)
NA 8 ( 5.6) 10 ( 1.8)
CROWFLY (mean (sd)) 31.80 (96.50) 32.75 (91.19) 0.912
CDCC_TOTAL_BEST (%) 0 112 ( 77.8) 445 ( 79.2) 0.968
1 26 ( 18.1) 92 ( 16.4)
2 4 ( 2.8) 16 ( 2.8)
3 2 ( 1.4) 9 ( 1.6)
SITE_TEXT (%) C44.2 External ear 0 ( 0.0) 1 ( 0.2) 0.634
C44.3 Skin of ear and unspecified parts of face 1 ( 0.7) 0 ( 0.0)
C44.4 Skin of scalp and neck 1 ( 0.7) 1 ( 0.2)
C44.5 Skin of trunk 29 ( 20.1) 106 ( 18.9)
C44.6 Skin of upper limb and shoulder 2 ( 1.4) 3 ( 0.5)
C44.7 Skin of lower limb and hip 2 ( 1.4) 6 ( 1.1)
C44.8 Overlapping lesion of skin 1 ( 0.7) 5 ( 0.9)
C44.9 Skin, NOS 2 ( 1.4) 7 ( 1.2)
C50.0 Nipple 0 ( 0.0) 1 ( 0.2)
C51.0 Labium majus 12 ( 8.3) 42 ( 7.5)
C51.1 Labium minus 2 ( 1.4) 8 ( 1.4)
C51.2 Clitoris 0 ( 0.0) 1 ( 0.2)
C51.8 Overlapping lesion of vulva 3 ( 2.1) 21 ( 3.7)
C51.9 Vulva, NOS 84 ( 58.3) 348 ( 61.9)
C60.8 Overlapping lesion of penis 1 ( 0.7) 0 ( 0.0)
C60.9 Penis 4 ( 2.8) 12 ( 2.1)
BEHAVIOR (%) 3 144 (100.0) 562 (100.0) NA
GRADE_F (%) Gr I: Well Diff 5 ( 3.5) 21 ( 3.7) 0.885
Gr II: Mod Diff 5 ( 3.5) 13 ( 2.3)
Gr III: Poor Diff 3 ( 2.1) 11 ( 2.0)
NA/Unkown 131 ( 91.0) 517 ( 92.0)
DX_STAGING_PROC_DAYS (mean (sd)) 1.36 (8.20) 1.54 (13.80) 0.890
TNM_CLIN_T (%) c0 0 ( 0.0) 2 ( 0.4) 0.048
c1 18 ( 12.5) 63 ( 11.2)
c1A 23 ( 16.0) 74 ( 13.2)
c1B 32 ( 22.2) 67 ( 11.9)
c2 19 ( 13.2) 75 ( 13.3)
c3 0 ( 0.0) 9 ( 1.6)
c4 0 ( 0.0) 1 ( 0.2)
cX 45 ( 31.2) 244 ( 43.4)
pIS 5 ( 3.5) 16 ( 2.8)
NA 2 ( 1.4) 11 ( 2.0)
TNM_CLIN_N (%) c0 126 ( 87.5) 406 ( 72.2) 0.001
c1 0 ( 0.0) 1 ( 0.2)
c2C 1 ( 0.7) 0 ( 0.0)
cX 17 ( 11.8) 153 ( 27.2)
NA 0 ( 0.0) 2 ( 0.4)
TNM_CLIN_M (%) c0 144 (100.0) 562 (100.0) NA
TNM_CLIN_STAGE_GROUP (%) 0 5 ( 3.5) 32 ( 5.7) 0.116
1 23 ( 16.0) 90 ( 16.0)
1A 17 ( 11.8) 57 ( 10.1)
1B 29 ( 20.1) 60 ( 10.7)
2 19 ( 13.2) 75 ( 13.3)
3 0 ( 0.0) 5 ( 0.9)
4 1 ( 0.7) 1 ( 0.2)
4A 0 ( 0.0) 1 ( 0.2)
4B 0 ( 0.0) 1 ( 0.2)
99 50 ( 34.7) 240 ( 42.7)
TNM_PATH_T (%) p0 0 ( 0.0) 4 ( 0.7) <0.001
p1 14 ( 9.7) 37 ( 6.6)
p1A 23 ( 16.0) 75 ( 13.3)
p1B 33 ( 22.9) 72 ( 12.8)
p2 12 ( 8.3) 52 ( 9.3)
p3 0 ( 0.0) 5 ( 0.9)
pIS 2 ( 1.4) 15 ( 2.7)
pX 29 ( 20.1) 259 ( 46.1)
NA 31 ( 21.5) 43 ( 7.7)
TNM_PATH_N (%) p0 30 ( 20.8) 118 ( 21.0) <0.001
p1 0 ( 0.0) 3 ( 0.5)
p1B 1 ( 0.7) 0 ( 0.0)
p2C 0 ( 0.0) 1 ( 0.2)
pX 70 ( 48.6) 377 ( 67.1)
NA 43 ( 29.9) 63 ( 11.2)
TNM_PATH_M (%) p1 0 ( 0.0) 1 ( 0.2) <0.001
pX 0 ( 0.0) 255 ( 45.4)
NA 144 (100.0) 306 ( 54.4)
TNM_PATH_STAGE_GROUP (%) 0 2 ( 1.4) 29 ( 5.2) <0.001
1 12 ( 8.3) 46 ( 8.2)
1A 16 ( 11.1) 48 ( 8.5)
1B 22 ( 15.3) 37 ( 6.6)
2 8 ( 5.6) 42 ( 7.5)
3 0 ( 0.0) 8 ( 1.4)
3A 1 ( 0.7) 0 ( 0.0)
4A 0 ( 0.0) 1 ( 0.2)
4B 0 ( 0.0) 1 ( 0.2)
99 65 ( 45.1) 325 ( 57.8)
NA 18 ( 12.5) 25 ( 4.4)
DX_RX_STARTED_DAYS (mean (sd)) 49.87 (39.28) 46.72 (169.07) 0.830
DX_SURG_STARTED_DAYS (mean (sd)) 50.34 (40.61) 45.44 (174.02) 0.763
DX_DEFSURG_STARTED_DAYS (mean (sd)) 64.22 (81.18) 56.07 (191.74) 0.654
MARGINS (%) No Residual 59 ( 41.0) 248 ( 44.1) 0.096
Residual, NOS 10 ( 6.9) 67 ( 11.9)
Microscopic Resid 39 ( 27.1) 152 ( 27.0)
Macroscopic Resid 2 ( 1.4) 7 ( 1.2)
Not evaluable 4 ( 2.8) 4 ( 0.7)
No surg 26 ( 18.1) 66 ( 11.7)
Unknown 4 ( 2.8) 18 ( 3.2)
MARGINS_YN (%) No 59 ( 41.0) 248 ( 44.1) 0.077
Yes 51 ( 35.4) 226 ( 40.2)
No surg/Unk/NA 34 ( 23.6) 88 ( 15.7)
SURG_DISCHARGE_DAYS (mean (sd)) 1.57 (4.00) 1.77 (6.61) 0.756
READM_HOSP_30_DAYS_F (%) No_Surg_or_No_Readmit 137 ( 95.1) 529 ( 94.1) 0.349
Unplan_Readmit_Same 2 ( 1.4) 18 ( 3.2)
Plan_Readmit_Same 4 ( 2.8) 6 ( 1.1)
PlanUnplan_Same 0 ( 0.0) 1 ( 0.2)
9 1 ( 0.7) 8 ( 1.4)
RX_SUMM_RADIATION_F (%) None 138 ( 95.8) 528 ( 94.0) 0.149
Beam Radiation 4 ( 2.8) 27 ( 4.8)
Radioactive Implants 1 ( 0.7) 0 ( 0.0)
Unknown 1 ( 0.7) 7 ( 1.2)
PUF_30_DAY_MORT_CD_F (%) Alive_30 111 ( 77.1) 484 ( 86.1) 0.015
Dead_30 1 ( 0.7) 3 ( 0.5)
Unknown 6 ( 4.2) 6 ( 1.1)
NA 26 ( 18.1) 69 ( 12.3)
PUF_90_DAY_MORT_CD_F (%) Alive_90 110 ( 76.4) 476 ( 84.7) 0.093
Dead_90 1 ( 0.7) 4 ( 0.7)
Unknown 7 ( 4.9) 13 ( 2.3)
NA 26 ( 18.1) 69 ( 12.3)
DX_LASTCONTACT_DEATH_MONTHS (mean (sd)) 30.92 (21.03) 60.22 (38.34) <0.001
LYMPH_VASCULAR_INVASION_F (%) Neg_LymphVasc_Inv 44 ( 30.6) 128 ( 22.8) <0.001
Pos_LumphVasc_Inv 4 ( 2.8) 9 ( 1.6)
N_A 1 ( 0.7) 0 ( 0.0)
Unknown 95 ( 66.0) 170 ( 30.2)
NA 0 ( 0.0) 255 ( 45.4)
RX_HOSP_SURG_APPR_2010_F (%) No_Surg 26 ( 18.1) 34 ( 6.0) <0.001
Robot_Assist 0 ( 0.0) 1 ( 0.2)
Endo_Lap 3 ( 2.1) 11 ( 2.0)
Endo_Lap_to_Open 0 ( 0.0) 1 ( 0.2)
Open_Unknown 115 ( 79.9) 260 ( 46.3)
NA 0 ( 0.0) 255 ( 45.4)
SURG_RAD_SEQ (%) Surg Alone 115 ( 79.9) 485 ( 86.3) 0.013
Surg then Rad 2 ( 1.4) 4 ( 0.7)
Rad Alone 3 ( 2.1) 23 ( 4.1)
No Treatment 23 ( 16.0) 41 ( 7.3)
Other 1 ( 0.7) 9 ( 1.6)
SURG_RAD_SEQ_C (%) Surg, No rad, No Chemo 112 ( 77.8) 471 ( 83.8) 0.060
Surg then Rad, No Chemo 2 ( 1.4) 4 ( 0.7)
Surg, No rad, Yes Chemo 1 ( 0.7) 4 ( 0.7)
No Surg, No Rad, Yes Chemo 1 ( 0.7) 0 ( 0.0)
No Surg, No Rad, No Chemo 21 ( 14.6) 41 ( 7.3)
Other 4 ( 2.8) 19 ( 3.4)
Rad, No Surg, Yes Chemo 0 ( 0.0) 2 ( 0.4)
Rad, No Surg, No Chemo 3 ( 2.1) 21 ( 3.7)
T_SIZE (%) Microscopic focus 3 ( 2.1) 9 ( 1.6) 0.098
< 1 cm 12 ( 8.3) 52 ( 9.3)
1-2 cm 5 ( 3.5) 48 ( 8.5)
2-3 cm 14 ( 9.7) 39 ( 6.9)
3-4 cm 11 ( 7.6) 57 ( 10.1)
4-5 cm 16 ( 11.1) 28 ( 5.0)
5-6 cm 7 ( 4.9) 28 ( 5.0)
>6 cm 20 ( 13.9) 69 ( 12.3)
NA_unk 56 ( 38.9) 232 ( 41.3)
SURGERY_YN (%) No 26 ( 18.1) 64 ( 11.4) 0.072
Ukn 0 ( 0.0) 3 ( 0.5)
Yes 118 ( 81.9) 495 ( 88.1)
RADIATION_YN (%) No 138 ( 95.8) 528 ( 94.0) 0.671
Yes 5 ( 3.5) 27 ( 4.8)
NA 1 ( 0.7) 7 ( 1.2)
CHEMO_YN (%) No 139 ( 96.5) 542 ( 96.4) 0.912
Yes 2 ( 1.4) 6 ( 1.1)
Ukn 3 ( 2.1) 14 ( 2.5)
mets_at_dx (%) None/Other/Unk/NA 144 (100.0) 562 (100.0) NA
MEDICAID_EXPN_CODE (%) Non-Expansion State 0 ( 0.0) 244 ( 43.4) <0.001
Jan 2014 Expansion States 68 ( 47.2) 172 ( 30.6)
Early Expansion States (2010-13) 76 ( 52.8) 44 ( 7.8)
Late Expansion States (> Jan 2014) 0 ( 0.0) 102 ( 18.1)

p_table(data,
        vars = c("YEAR_OF_DIAGNOSIS"),
        strata = c("MEDICAID_EXPN_CODE"))
level Non-Expansion State Jan 2014 Expansion States Early Expansion States (2010-13) Late Expansion States (> Jan 2014) Suppressed for Ages 0 - 39 p test
n 279 281 231 94 506
YEAR_OF_DIAGNOSIS (%) 2004 27 ( 9.7) 21 ( 7.5) 16 ( 6.9) 10 (10.6) 54 (10.7) NaN
2005 28 (10.0) 13 ( 4.6) 18 ( 7.8) 11 (11.7) 56 (11.1)
2006 24 ( 8.6) 22 ( 7.8) 17 ( 7.4) 8 ( 8.5) 43 ( 8.5)
2007 13 ( 4.7) 18 ( 6.4) 20 ( 8.7) 8 ( 8.5) 34 ( 6.7)
2008 35 (12.5) 21 ( 7.5) 23 (10.0) 8 ( 8.5) 38 ( 7.5)
2009 20 ( 7.2) 23 ( 8.2) 21 ( 9.1) 7 ( 7.4) 45 ( 8.9)
2010 18 ( 6.5) 17 ( 6.0) 21 ( 9.1) 5 ( 5.3) 46 ( 9.1)
2011 20 ( 7.2) 22 ( 7.8) 13 ( 5.6) 6 ( 6.4) 33 ( 6.5)
2012 19 ( 6.8) 23 ( 8.2) 14 ( 6.1) 9 ( 9.6) 50 ( 9.9)
2013 23 ( 8.2) 34 (12.1) 21 ( 9.1) 8 ( 8.5) 42 ( 8.3)
2014 24 ( 8.6) 32 (11.4) 25 (10.8) 5 ( 5.3) 44 ( 8.7)
2015 28 (10.0) 35 (12.5) 22 ( 9.5) 9 ( 9.6) 21 ( 4.2)
2016 0 ( 0.0) 0 ( 0.0) 0 ( 0.0) 0 ( 0.0) 0 ( 0.0)
preExpMedicare  <- nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion" & INSURANCE_F == "Medicare"))
postExpMedicare <- nrow(data %>% filter(EXPN_GROUP == "Post-Expansion" & INSURANCE_F == "Medicare"))
# p = 0.25 when comparing change in proportion of patients with Medicare before and after ACA expansion
prop.test(c(preExpMedicare, postExpMedicare), 
          c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% filter(EXPN_GROUP == "Post-Expansion"))))

    2-sample test for equality of proportions with continuity correction

data:  c(preExpMedicare, postExpMedicare) out of c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% c(preExpMedicare, postExpMedicare) out of     filter(EXPN_GROUP == "Post-Expansion")))
X-squared = 2.8488, df = 1, p-value = 0.09144
alternative hypothesis: two.sided
95 percent confidence interval:
 -0.006895068  0.141405366
sample estimates:
   prop 1    prop 2 
0.3076923 0.2404372 
preExpNoInsurance <- nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion") %>% 
                            filter(INSURANCE_F == "None"))
postExpNoInsurance <- nrow(data %>% filter(EXPN_GROUP == "Post-Expansion") %>% 
                             filter(INSURANCE_F == "None"))
# Significant decrease in the overall proportion of patients without insurance after ACA expansion 
prop.test(c(preExpNoInsurance, postExpNoInsurance), 
          c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% filter(EXPN_GROUP == "Post-Expansion"))))

    2-sample test for equality of proportions with continuity correction

data:  c(preExpNoInsurance, postExpNoInsurance) out of c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% c(preExpNoInsurance, postExpNoInsurance) out of     filter(EXPN_GROUP == "Post-Expansion")))
X-squared = 0.041054, df = 1, p-value = 0.8394
alternative hypothesis: two.sided
95 percent confidence interval:
 -0.05555195  0.03976568
sample estimates:
    prop 1     prop 2 
0.07407407 0.08196721 
p_table(no_Excludes, strata = "EXPN_GROUP", vars = "DX_RX_STARTED_DAYS")

level Post-Expansion Pre-Expansion p test
n 144 562
DX_RX_STARTED_DAYS (mean (sd)) 49.87 (39.28) 46.72 (169.07) 0.830

data <- data %>% mutate(Insured = INSURANCE_F != "Unknown")

Kaplan Meier Analysis

All

uni_var(test_var = "All", data_imp = data)
_________________________________________________
   
## All
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ All, data = data)

      n  events  median 0.95LCL 0.95UCL 
 1391.0   687.0    40.4    31.0    61.9 

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ All, data = data)

 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    843     440    0.671  0.0129        0.646        0.697
   24    643     128    0.565  0.0138        0.539        0.593
   36    507      57    0.513  0.0142        0.486        0.542
   48    411      25    0.486  0.0144        0.459        0.515
   60    348       8    0.476  0.0146        0.448        0.506
  120     97      27    0.426  0.0162        0.395        0.459



   
## Univariable Cox Proportional Hazard Model for:  All

[1] "Only one level, no Cox model performed"




   
## Unadjusted Kaplan Meier Overall Survival Curve for:  All

Facility Type

uni_var(test_var = "FACILITY_TYPE_F", data_imp = data)
_________________________________________________
   
## FACILITY_TYPE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_TYPE_F, data = data)

   506 observations deleted due to missingness 
                                                n events median 0.95LCL 0.95UCL
FACILITY_TYPE_F=Community Cancer Program       41     27   14.5    5.98    34.8
FACILITY_TYPE_F=Comprehensive Comm Ca Program 251    142   19.4   13.14    42.5
FACILITY_TYPE_F=Academic/Research Program     499    286   23.6   17.15    33.3
FACILITY_TYPE_F=Integrated Network Ca Program  94     65   14.3    8.97    38.0

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_TYPE_F, data = data)

506 observations deleted due to missingness 
                FACILITY_TYPE_F=Community Cancer Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     20      16    0.570  0.0814        0.431        0.754
   24     11       6    0.386  0.0831        0.253        0.589
   36      7       4    0.246  0.0771        0.133        0.454
   48      6       1    0.211  0.0736        0.106        0.418
   60      4       0    0.211  0.0736        0.106        0.418
  120      1       0    0.211  0.0736        0.106        0.418

                FACILITY_TYPE_F=Comprehensive Comm Ca Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    130     101    0.583  0.0318        0.524        0.649
   24    101      22    0.481  0.0329        0.421        0.550
   36     79       9    0.436  0.0331        0.376        0.506
   48     66       4    0.412  0.0333        0.352        0.483
   60     57       1    0.406  0.0334        0.346        0.477
  120     20       4    0.375  0.0343        0.313        0.448

                FACILITY_TYPE_F=Academic/Research Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    278     182    0.622  0.0222        0.580        0.667
   24    196      54    0.497  0.0234        0.453        0.545
   36    151      21    0.441  0.0237        0.397        0.490
   48    115      13    0.402  0.0240        0.357        0.452
   60     91       4    0.386  0.0243        0.341        0.437
  120     22      12    0.314  0.0282        0.263        0.375

                FACILITY_TYPE_F=Integrated Network Ca Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     46      41    0.548  0.0525       0.4538        0.661
   24     33      11    0.415  0.0529       0.3236        0.533
   36     27       2    0.389  0.0527       0.2986        0.507
   48     20       4    0.326  0.0527       0.2376        0.448
   60     18       1    0.310  0.0526       0.2223        0.432
  120      1       5    0.163  0.0626       0.0765        0.346




   
## Univariable Cox Proportional Hazard Model for:  FACILITY_TYPE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_TYPE_F, data = data)

  n= 885, number of events= 520 
   (506 observations deleted due to missingness)

                                                 coef exp(coef) se(coef)      z Pr(>|z|)  
FACILITY_TYPE_FComprehensive Comm Ca Program -0.35827   0.69889  0.21022 -1.704   0.0883 .
FACILITY_TYPE_FAcademic/Research Program     -0.35928   0.69818  0.20142 -1.784   0.0745 .
FACILITY_TYPE_FIntegrated Network Ca Program -0.07785   0.92510  0.22903 -0.340   0.7339  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                             exp(coef) exp(-coef) lower .95 upper .95
FACILITY_TYPE_FComprehensive Comm Ca Program    0.6989      1.431    0.4629     1.055
FACILITY_TYPE_FAcademic/Research Program        0.6982      1.432    0.4705     1.036
FACILITY_TYPE_FIntegrated Network Ca Program    0.9251      1.081    0.5905     1.449

Concordance= 0.524  (se = 0.012 )
Rsquare= 0.007   (max possible= 0.999 )
Likelihood ratio test= 6.63  on 3 df,   p=0.08486
Wald test            = 7.1  on 3 df,   p=0.06879
Score (logrank) test = 7.16  on 3 df,   p=0.06703
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  FACILITY_TYPE_F

Facility Location

uni_var(test_var = "FACILITY_LOCATION_F", data_imp = data)
_________________________________________________
   
## FACILITY_LOCATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_LOCATION_F, data = data)

   506 observations deleted due to missingness 
                                         n events median 0.95LCL 0.95UCL
FACILITY_LOCATION_F=New England         49     21  102.3   27.53      NA
FACILITY_LOCATION_F=Middle Atlantic    138     79   18.9   13.04    38.0
FACILITY_LOCATION_F=South Atlantic     172    109   18.1   13.08    26.2
FACILITY_LOCATION_F=East North Central 118     71   20.8   12.91    44.8
FACILITY_LOCATION_F=East South Central  39     28   13.2    6.41    93.9
FACILITY_LOCATION_F=West North Central  76     49   10.8    7.39    26.9
FACILITY_LOCATION_F=West South Central  79     44   21.2   12.19    76.5
FACILITY_LOCATION_F=Mountain            32     19   19.4    9.53      NA
FACILITY_LOCATION_F=Pacific            182    100   28.2   16.26    61.2

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_LOCATION_F, data = data)

506 observations deleted due to missingness 
                FACILITY_LOCATION_F=New England 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     30      15    0.691  0.0664        0.573        0.834
   24     26       2    0.643  0.0699        0.520        0.796
   36     15       3    0.544  0.0797        0.408        0.725
   48     13       0    0.544  0.0797        0.408        0.725
   60     10       0    0.544  0.0797        0.408        0.725
  120      1       1    0.435  0.1163        0.258        0.735

                FACILITY_LOCATION_F=Middle Atlantic 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     80      51    0.620  0.0420        0.542        0.708
   24     54      19    0.465  0.0441        0.387        0.560
   36     43       4    0.430  0.0441        0.352        0.526
   48     35       3    0.400  0.0443        0.322        0.497
   60     28       0    0.400  0.0443        0.322        0.497
  120      8       2    0.369  0.0460        0.289        0.471

                FACILITY_LOCATION_F=South Atlantic 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     87      67    0.589  0.0387        0.518        0.670
   24     56      23    0.426  0.0404        0.354        0.513
   36     45       6    0.379  0.0402        0.308        0.466
   48     32       6    0.324  0.0402        0.254        0.413
   60     24       2    0.300  0.0406        0.230        0.391
  120      7       5    0.225  0.0431        0.155        0.328

                FACILITY_LOCATION_F=East North Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     64      45    0.603  0.0461        0.519        0.700
   24     46      12    0.489  0.0477        0.404        0.592
   36     36       5    0.435  0.0482        0.350        0.540
   48     25       4    0.383  0.0490        0.298        0.492
   60     22       1    0.367  0.0495        0.281        0.478
  120      5       3    0.285  0.0591        0.190        0.428

                FACILITY_LOCATION_F=East South Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     20      19    0.513  0.0800        0.378        0.696
   24     16       3    0.432  0.0799        0.301        0.621
   36     14       2    0.378  0.0785        0.251        0.568
   48     11       2    0.324  0.0760        0.204        0.513
   60     10       0    0.324  0.0760        0.204        0.513
  120      2       2    0.252  0.0742        0.141        0.449

                FACILITY_LOCATION_F=West North Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     29      36    0.493  0.0606        0.387        0.627
   24     22       6    0.389  0.0609        0.287        0.529
   36     20       2    0.354  0.0603        0.254        0.494
   48     16       2    0.317  0.0595        0.219        0.457
   60     14       1    0.297  0.0589        0.201        0.438
  120      3       2    0.251  0.0582        0.159        0.395

                FACILITY_LOCATION_F=West South Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     40      29    0.608  0.0572        0.506        0.731
   24     28       9    0.468  0.0603        0.363        0.602
   36     23       2    0.433  0.0606        0.329        0.570
   48     19       1    0.413  0.0610        0.309        0.552
   60     15       1    0.391  0.0615        0.288        0.533
  120      3       2    0.325  0.0676        0.216        0.488

                FACILITY_LOCATION_F=Mountain 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     16      12    0.614  0.0876        0.464        0.812
   24     10       4    0.443  0.0966        0.289        0.679
   36      8       1    0.399  0.0966        0.248        0.641
   48      6       0    0.399  0.0966        0.248        0.641
   60      5       1    0.332  0.1008        0.183        0.602

                FACILITY_LOCATION_F=Pacific 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    108      66    0.631  0.0362        0.564        0.706
   24     83      15    0.540  0.0378        0.471        0.620
   36     60      11    0.463  0.0390        0.392        0.546
   48     50       4    0.430  0.0395        0.359        0.515
   60     42       0    0.430  0.0395        0.359        0.515
  120     15       3    0.398  0.0407        0.325        0.486




   
## Univariable Cox Proportional Hazard Model for:  FACILITY_LOCATION_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_LOCATION_F, data = data)

  n= 885, number of events= 520 
   (506 observations deleted due to missingness)

                                        coef exp(coef) se(coef)     z Pr(>|z|)  
FACILITY_LOCATION_FMiddle Atlantic    0.3339    1.3964   0.2456 1.360   0.1739  
FACILITY_LOCATION_FSouth Atlantic     0.5430    1.7211   0.2384 2.278   0.0228 *
FACILITY_LOCATION_FEast North Central 0.4511    1.5700   0.2484 1.816   0.0694 .
FACILITY_LOCATION_FEast South Central 0.5836    1.7925   0.2888 2.021   0.0433 *
FACILITY_LOCATION_FWest North Central 0.6445    1.9051   0.2610 2.469   0.0135 *
FACILITY_LOCATION_FWest South Central 0.3738    1.4533   0.2653 1.409   0.1588  
FACILITY_LOCATION_FMountain           0.4554    1.5769   0.3168 1.438   0.1505  
FACILITY_LOCATION_FPacific            0.2672    1.3062   0.2401 1.113   0.2658  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                      exp(coef) exp(-coef) lower .95 upper .95
FACILITY_LOCATION_FMiddle Atlantic        1.396     0.7161    0.8630     2.260
FACILITY_LOCATION_FSouth Atlantic         1.721     0.5810    1.0787     2.746
FACILITY_LOCATION_FEast North Central     1.570     0.6370    0.9648     2.555
FACILITY_LOCATION_FEast South Central     1.793     0.5579    1.0177     3.157
FACILITY_LOCATION_FWest North Central     1.905     0.5249    1.1422     3.178
FACILITY_LOCATION_FWest South Central     1.453     0.6881    0.8640     2.444
FACILITY_LOCATION_FMountain               1.577     0.6342    0.8475     2.934
FACILITY_LOCATION_FPacific                1.306     0.7656    0.8160     2.091

Concordance= 0.537  (se = 0.013 )
Rsquare= 0.013   (max possible= 0.999 )
Likelihood ratio test= 12  on 8 df,   p=0.1512
Wald test            = 11.66  on 8 df,   p=0.1672
Score (logrank) test = 11.79  on 8 df,   p=0.1606
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  FACILITY_LOCATION_F

Facility Geography

uni_var(test_var = "FACILITY_GEOGRAPHY", data_imp = data)
_________________________________________________
   
## FACILITY_GEOGRAPHY
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_GEOGRAPHY, data = data)

   506 observations deleted due to missingness 
                               n events median 0.95LCL 0.95UCL
FACILITY_GEOGRAPHY=Northeast 187    100   26.1    16.3   102.3
FACILITY_GEOGRAPHY=South     251    153   18.3    13.7    25.2
FACILITY_GEOGRAPHY=Midwest   233    148   14.5    10.8    24.5
FACILITY_GEOGRAPHY=West      214    119   26.6    16.6    49.8

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_GEOGRAPHY, data = data)

506 observations deleted due to missingness 
                FACILITY_GEOGRAPHY=Northeast 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    110      66    0.638  0.0357        0.571        0.712
   24     80      21    0.511  0.0379        0.441        0.591
   36     58       7    0.462  0.0386        0.392        0.544
   48     48       3    0.438  0.0389        0.368        0.521
   60     38       0    0.438  0.0389        0.368        0.521
  120      9       3    0.391  0.0439        0.314        0.487

                FACILITY_GEOGRAPHY=South 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    127      96    0.595  0.0321        0.535        0.661
   24     84      32    0.439  0.0336        0.378        0.510
   36     68       8    0.395  0.0336        0.335        0.467
   48     51       7    0.352  0.0337        0.291        0.424
   60     39       3    0.329  0.0340        0.268        0.403
  120     10       7    0.254  0.0376        0.190        0.339

                FACILITY_GEOGRAPHY=Midwest 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    113     100    0.553  0.0335        0.491        0.622
   24     84      21    0.449  0.0340        0.387        0.520
   36     70       9    0.400  0.0340        0.339        0.473
   48     52       8    0.352  0.0339        0.291        0.425
   60     46       2    0.338  0.0339        0.278        0.411
  120     10       7    0.268  0.0362        0.206        0.349

                FACILITY_GEOGRAPHY=West 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    124      78    0.628  0.0335        0.566        0.697
   24     93      19    0.527  0.0352        0.463        0.601
   36     68      12    0.454  0.0361        0.389        0.531
   48     56       4    0.426  0.0366        0.360        0.504
   60     47       1    0.418  0.0367        0.352        0.497
  120     15       4    0.376  0.0388        0.307        0.460




   
## Univariable Cox Proportional Hazard Model for:  FACILITY_GEOGRAPHY

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_GEOGRAPHY, data = data)

  n= 885, number of events= 520 
   (506 observations deleted due to missingness)

                             coef exp(coef) se(coef)     z Pr(>|z|)  
FACILITY_GEOGRAPHYSouth   0.23723   1.26773  0.12864 1.844   0.0652 .
FACILITY_GEOGRAPHYMidwest 0.28222   1.32607  0.12948 2.180   0.0293 *
FACILITY_GEOGRAPHYWest    0.04101   1.04186  0.13567 0.302   0.7624  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                          exp(coef) exp(-coef) lower .95 upper .95
FACILITY_GEOGRAPHYSouth       1.268     0.7888    0.9852     1.631
FACILITY_GEOGRAPHYMidwest     1.326     0.7541    1.0288     1.709
FACILITY_GEOGRAPHYWest        1.042     0.9598    0.7986     1.359

Concordance= 0.531  (se = 0.013 )
Rsquare= 0.008   (max possible= 0.999 )
Likelihood ratio test= 7.43  on 3 df,   p=0.05934
Wald test            = 7.36  on 3 df,   p=0.06122
Score (logrank) test = 7.4  on 3 df,   p=0.06023
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  FACILITY_GEOGRAPHY

Age Group

uni_var(test_var = "AGE_F", data_imp = data)
_________________________________________________
   
## AGE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_F, data = data)

                 n events median 0.95LCL 0.95UCL
AGE_F=(0,54]   875    349     NA   99.06      NA
AGE_F=(54,64]  229    131  26.87   18.37   38.87
AGE_F=(64,74]  161    105  14.62    9.99   23.23
AGE_F=(74,100] 126    102   5.52    3.68    9.13

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_F, data = data)

                AGE_F=(0,54] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    591     207    0.752  0.0150        0.723        0.782
   24    461      79    0.648  0.0169        0.615        0.682
   36    372      36    0.595  0.0176        0.562        0.631
   48    312       9    0.580  0.0179        0.546        0.616
   60    264       4    0.572  0.0181        0.537        0.609
  120     77      14    0.529  0.0203        0.491        0.571

                AGE_F=(54,64] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    133      81    0.635  0.0325        0.574        0.701
   24    100      21    0.531  0.0342        0.468        0.602
   36     66      15    0.443  0.0353        0.378        0.518
   48     49       7    0.393  0.0360        0.329        0.471
   60     41       2    0.377  0.0363        0.312        0.455
  120      9       5    0.325  0.0381        0.258        0.409

                AGE_F=(64,74] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     82      73    0.541  0.0396        0.469        0.624
   24     56      19    0.411  0.0398        0.340        0.497
   36     47       5    0.373  0.0396        0.303        0.459
   48     38       3    0.348  0.0395        0.278        0.434
   60     34       0    0.348  0.0395        0.278        0.434
  120      8       4    0.298  0.0413        0.227        0.391

                AGE_F=(74,100] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     37      79   0.3426  0.0438       0.2666        0.440
   24     26       9   0.2581  0.0411       0.1889        0.353
   36     22       1   0.2478  0.0407       0.1795        0.342
   48     12       6   0.1749  0.0381       0.1141        0.268
   60      9       2   0.1457  0.0369       0.0887        0.240
  120      3       4   0.0756  0.0320       0.0330        0.173




   
## Univariable Cox Proportional Hazard Model for:  AGE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_F, data = data)

  n= 1391, number of events= 687 

                coef exp(coef) se(coef)      z Pr(>|z|)    
AGE_F(54,64]  0.5135    1.6711   0.1026  5.005 5.59e-07 ***
AGE_F(64,74]  0.7249    2.0645   0.1114  6.507 7.67e-11 ***
AGE_F(74,100] 1.3293    3.7783   0.1133 11.729  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
AGE_F(54,64]      1.671     0.5984     1.367     2.043
AGE_F(64,74]      2.064     0.4844     1.660     2.568
AGE_F(74,100]     3.778     0.2647     3.026     4.718

Concordance= 0.61  (se = 0.01 )
Rsquare= 0.092   (max possible= 0.999 )
Likelihood ratio test= 134.5  on 3 df,   p=0
Wald test            = 154.6  on 3 df,   p=0
Score (logrank) test = 170.8  on 3 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  AGE_F

Age Group

uni_var(test_var = "AGE_40", data_imp = data)
_________________________________________________
   
## AGE_40
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_40, data = data)

                  n events median 0.95LCL 0.95UCL
AGE_40=(0,40]   527    173     NA      NA      NA
AGE_40=(40,100] 864    514   19.8    16.4      25

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_40, data = data)

                AGE_40=(0,40] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    385     104    0.794  0.0180        0.759        0.830
   24    313      37    0.714  0.0205        0.675        0.755
   36    249      21    0.664  0.0217        0.623        0.708
   48    210       3    0.655  0.0220        0.614        0.700
   60    181       2    0.649  0.0223        0.606        0.694
  120     54       6    0.617  0.0250        0.570        0.668

                AGE_40=(40,100] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    458     336    0.597  0.0171        0.564        0.631
   24    330      91    0.474  0.0178        0.441        0.510
   36    258      36    0.420  0.0179        0.387        0.457
   48    201      22    0.382  0.0180        0.349        0.419
   60    167       6    0.370  0.0181        0.336        0.407
  120     43      21    0.309  0.0198        0.272        0.350




   
## Univariable Cox Proportional Hazard Model for:  AGE_40

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_40, data = data)

  n= 1391, number of events= 687 

                  coef exp(coef) se(coef)     z Pr(>|z|)    
AGE_40(40,100] 0.85539   2.35229  0.08815 9.704   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

               exp(coef) exp(-coef) lower .95 upper .95
AGE_40(40,100]     2.352     0.4251     1.979     2.796

Concordance= 0.592  (se = 0.01 )
Rsquare= 0.073   (max possible= 0.999 )
Likelihood ratio test= 106  on 1 df,   p=0
Wald test            = 94.16  on 1 df,   p=0
Score (logrank) test = 99.93  on 1 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  AGE_40

Gender

uni_var(test_var = "SEX_F", data_imp = data)
_________________________________________________
   
## SEX_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SEX_F, data = data)

               n events median 0.95LCL 0.95UCL
SEX_F=Male   933    447   49.8    33.8    80.8
SEX_F=Female 458    240   30.0    19.4    53.9

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SEX_F, data = data)

                SEX_F=Male 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    583     270    0.697  0.0154        0.668        0.728
   24    447      90    0.586  0.0169        0.554        0.620
   36    345      43    0.527  0.0174        0.494        0.563
   48    280      15    0.503  0.0177        0.469        0.539
   60    241       6    0.491  0.0179        0.457        0.528
  120     66      21    0.433  0.0201        0.395        0.474

                SEX_F=Female 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    260     170    0.618  0.0231        0.574        0.665
   24    196      38    0.524  0.0241        0.478        0.573
   36    162      14    0.485  0.0245        0.439        0.535
   48    131      10    0.453  0.0248        0.407        0.505
   60    107       2    0.446  0.0250        0.400        0.498
  120     31       6    0.414  0.0267        0.365        0.470




   
## Univariable Cox Proportional Hazard Model for:  SEX_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SEX_F, data = data)

  n= 1391, number of events= 687 

               coef exp(coef) se(coef)     z Pr(>|z|)  
SEX_FFemale 0.15813   1.17131  0.08003 1.976   0.0482 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

            exp(coef) exp(-coef) lower .95 upper .95
SEX_FFemale     1.171     0.8537     1.001      1.37

Concordance= 0.526  (se = 0.009 )
Rsquare= 0.003   (max possible= 0.999 )
Likelihood ratio test= 3.84  on 1 df,   p=0.05008
Wald test            = 3.9  on 1 df,   p=0.04819
Score (logrank) test = 3.91  on 1 df,   p=0.04795
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SEX_F

RACE_F

uni_var(test_var = "RACE_F", data_imp = data)
_________________________________________________
   
## RACE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RACE_F, data = data)

                    n events median 0.95LCL 0.95UCL
RACE_F=White     1064    515   49.4    33.8    73.8
RACE_F=Black      154     93   19.8    15.3    36.2
RACE_F=Other/Unk   56     25   30.0    20.0      NA
RACE_F=Asian      117     54   60.9    23.6      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RACE_F, data = data)

                RACE_F=White 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    649     329    0.678  0.0147        0.650        0.707
   24    504      95    0.575  0.0158        0.545        0.607
   36    398      44    0.523  0.0162        0.492        0.556
   48    327      15    0.502  0.0165        0.471        0.535
   60    277       7    0.491  0.0166        0.459        0.524
  120     73      24    0.432  0.0188        0.397        0.470

                RACE_F=Black 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     92      57    0.624  0.0394        0.551        0.706
   24     66      20    0.483  0.0413        0.408        0.571
   36     49       9    0.413  0.0414        0.339        0.502
   48     39       5    0.370  0.0413        0.297        0.460
   60     34       1    0.360  0.0414        0.287        0.451
  120     11       1    0.348  0.0418        0.275        0.440

                RACE_F=Other/Unk 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     33      16    0.699  0.0633        0.585        0.835
   24     22       6    0.567  0.0707        0.444        0.724
   36     17       3    0.487  0.0744        0.361        0.657
   48     15       0    0.487  0.0744        0.361        0.657
   60     11       0    0.487  0.0744        0.361        0.657
  120      3       0    0.487  0.0744        0.361        0.657

                RACE_F=Asian 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     69      38    0.659  0.0451        0.576        0.753
   24     51       7    0.586  0.0478        0.499        0.688
   36     43       1    0.574  0.0483        0.487        0.677
   48     30       5    0.503  0.0518        0.411        0.615
   60     26       0    0.503  0.0518        0.411        0.615
  120     10       2    0.457  0.0564        0.359        0.582




   
## Univariable Cox Proportional Hazard Model for:  RACE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RACE_F, data = data)

  n= 1391, number of events= 687 

                    coef exp(coef) se(coef)      z Pr(>|z|)  
RACE_FBlack      0.27059   1.31074  0.11269  2.401   0.0163 *
RACE_FOther/Unk -0.04193   0.95894  0.20484 -0.205   0.8378  
RACE_FAsian     -0.03525   0.96537  0.14305 -0.246   0.8054  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                exp(coef) exp(-coef) lower .95 upper .95
RACE_FBlack        1.3107     0.7629    1.0510     1.635
RACE_FOther/Unk    0.9589     1.0428    0.6418     1.433
RACE_FAsian        0.9654     1.0359    0.7293     1.278

Concordance= 0.516  (se = 0.009 )
Rsquare= 0.004   (max possible= 0.999 )
Likelihood ratio test= 5.81  on 3 df,   p=0.1213
Wald test            = 6.2  on 3 df,   p=0.1023
Score (logrank) test = 6.24  on 3 df,   p=0.1005
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RACE_F

Hispanic

uni_var(test_var = "HISPANIC", data_imp = data)
_________________________________________________
   
## HISPANIC
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ HISPANIC, data = data)

                   n events median 0.95LCL 0.95UCL
HISPANIC=No      999    503   40.4    29.8    63.2
HISPANIC=Yes     328    142   76.5    31.6      NA
HISPANIC=Unknown  64     42   18.0     9.4    34.8

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ HISPANIC, data = data)

                HISPANIC=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    623     311    0.678  0.0151        0.650        0.709
   24    478     102    0.564  0.0162        0.533        0.597
   36    385      38    0.517  0.0166        0.486        0.551
   48    310      23    0.485  0.0169        0.453        0.519
   60    266       7    0.473  0.0170        0.441        0.508
  120     76      20    0.425  0.0186        0.390        0.463

                HISPANIC=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    185     104    0.662  0.0272        0.611        0.717
   24    142      16    0.602  0.0285        0.549        0.661
   36    105      15    0.535  0.0301        0.479        0.598
   48     87       0    0.535  0.0301        0.479        0.598
   60     71       0    0.535  0.0301        0.479        0.598
  120     17       7    0.460  0.0384        0.390        0.541

                HISPANIC=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     35      25    0.602  0.0620        0.492        0.737
   24     23      10    0.426  0.0643        0.317        0.573
   36     17       4    0.349  0.0632        0.245        0.498
   48     14       2    0.306  0.0624        0.205        0.456
   60     11       1    0.284  0.0616        0.186        0.434
  120      4       0    0.284  0.0616        0.186        0.434




   
## Univariable Cox Proportional Hazard Model for:  HISPANIC

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ HISPANIC, data = data)

  n= 1391, number of events= 687 

                    coef exp(coef) se(coef)      z Pr(>|z|)   
HISPANICYes     -0.09001   0.91392  0.09508 -0.947  0.34380   
HISPANICUnknown  0.41766   1.51840  0.16068  2.599  0.00934 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                exp(coef) exp(-coef) lower .95 upper .95
HISPANICYes        0.9139     1.0942    0.7585     1.101
HISPANICUnknown    1.5184     0.6586    1.1082     2.080

Concordance= 0.516  (se = 0.009 )
Rsquare= 0.005   (max possible= 0.999 )
Likelihood ratio test= 7.59  on 2 df,   p=0.02252
Wald test            = 8.44  on 2 df,   p=0.0147
Score (logrank) test = 8.57  on 2 df,   p=0.01379
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  HISPANIC

Insurance Status

uni_var(test_var = "INSURANCE_F", data_imp = data)
_________________________________________________
   
## INSURANCE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INSURANCE_F, data = data)

                               n events median 0.95LCL 0.95UCL
INSURANCE_F=Private          697    310   97.7   55.62      NA
INSURANCE_F=None             132     62   23.2   12.25      NA
INSURANCE_F=Medicaid         220     94   99.1   35.29      NA
INSURANCE_F=Medicare         274    188   11.0    8.02    15.3
INSURANCE_F=Other Government  28     15   25.9   20.04      NA
INSURANCE_F=Unknown           40     18   76.5   33.28      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INSURANCE_F, data = data)

                INSURANCE_F=Private 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    475     174    0.742  0.0169        0.710        0.776
   24    373      69    0.632  0.0189        0.596        0.670
   36    302      34    0.572  0.0197        0.534        0.612
   48    250      13    0.546  0.0201        0.508        0.587
   60    221       4    0.537  0.0203        0.498        0.578
  120     67      16    0.486  0.0223        0.444        0.532

                INSURANCE_F=None 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     63      48    0.594  0.0456        0.511        0.691
   24     46      10    0.496  0.0476        0.411        0.598
   36     35       2    0.472  0.0481        0.387        0.577
   48     28       1    0.458  0.0487        0.372        0.564
   60     21       0    0.458  0.0487        0.372        0.564
  120      5       1    0.431  0.0528        0.339        0.548

                INSURANCE_F=Medicaid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    143      63    0.704  0.0314        0.645        0.768
   24    104      18    0.609  0.0342        0.546        0.680
   36     76       8    0.559  0.0358        0.493        0.633
   48     64       2    0.544  0.0363        0.477        0.620
   60     48       0    0.544  0.0363        0.477        0.620
  120     11       3    0.488  0.0455        0.406        0.586

                INSURANCE_F=Medicare 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    118     137    0.482  0.0309        0.425        0.547
   24     83      26    0.372  0.0305        0.316        0.436
   36     69       7    0.340  0.0302        0.285        0.404
   48     49       8    0.298  0.0299        0.245        0.362
   60     41       2    0.285  0.0299        0.232        0.350
  120     10       6    0.234  0.0312        0.180        0.304

                INSURANCE_F=Other Government 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     19       7    0.743  0.0839        0.595        0.927
   24     15       3    0.619  0.0956        0.457        0.838
   36      8       4    0.446  0.1013        0.286        0.696
   48      6       0    0.446  0.1013        0.286        0.696
   60      4       1    0.357  0.1137        0.191        0.666
  120      1       0    0.357  0.1137        0.191        0.666

                INSURANCE_F=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     25      11    0.717  0.0725        0.588        0.874
   24     22       2    0.658  0.0776        0.522        0.829
   36     17       2    0.590  0.0831        0.448        0.778
   48     14       1    0.553  0.0857        0.409        0.750
   60     13       1    0.514  0.0882        0.367        0.719
  120      3       1    0.467  0.0917        0.318        0.686




   
## Univariable Cox Proportional Hazard Model for:  INSURANCE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INSURANCE_F, data = data)

  n= 1391, number of events= 687 

                               coef exp(coef) se(coef)     z Pr(>|z|)    
INSURANCE_FNone             0.34054   1.40570  0.13934 2.444   0.0145 *  
INSURANCE_FMedicaid         0.02975   1.03019  0.11781 0.253   0.8006    
INSURANCE_FMedicare         0.79072   2.20499  0.09273 8.527   <2e-16 ***
INSURANCE_FOther Government 0.22357   1.25054  0.26445 0.845   0.3979    
INSURANCE_FUnknown          0.01393   1.01403  0.24246 0.057   0.9542    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                            exp(coef) exp(-coef) lower .95 upper .95
INSURANCE_FNone                 1.406     0.7114    1.0698     1.847
INSURANCE_FMedicaid             1.030     0.9707    0.8178     1.298
INSURANCE_FMedicare             2.205     0.4535    1.8385     2.644
INSURANCE_FOther Government     1.251     0.7997    0.7447     2.100
INSURANCE_FUnknown              1.014     0.9862    0.6305     1.631

Concordance= 0.582  (se = 0.011 )
Rsquare= 0.05   (max possible= 0.999 )
Likelihood ratio test= 71.99  on 5 df,   p=3.952e-14
Wald test            = 79.88  on 5 df,   p=8.882e-16
Score (logrank) test = 83.65  on 5 df,   p=1.11e-16
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  INSURANCE_F

Overall Survival pre/post-ACA expansion

uni_var(test_var = "EXPN_GROUP", data_imp = no_Excludes)
_________________________________________________
   
## EXPN_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EXPN_GROUP, data = no_Excludes)

                            n events median 0.95LCL 0.95UCL
EXPN_GROUP=Post-Expansion 144     20     NA    82.8      NA
EXPN_GROUP=Pre-Expansion  562    145    132   125.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EXPN_GROUP, data = no_Excludes)

                EXPN_GROUP=Post-Expansion 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    119       5    0.963  0.0163        0.931        0.995
   24     85       9    0.880  0.0303        0.823        0.942
   36     42       4    0.827  0.0386        0.755        0.906
   48     28       1    0.799  0.0467        0.712        0.896
   60     18       0    0.799  0.0467        0.712        0.896

                EXPN_GROUP=Pre-Expansion 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    498      20    0.963 0.00815        0.947        0.979
   24    457      16    0.931 0.01111        0.909        0.953
   36    394      20    0.888 0.01419        0.860        0.916
   48    322      16    0.849 0.01652        0.818        0.882
   60    253      25    0.778 0.02044        0.739        0.819
  120     51      39    0.586 0.03289        0.525        0.655




   
## Univariable Cox Proportional Hazard Model for:  EXPN_GROUP

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EXPN_GROUP, data = no_Excludes)

  n= 706, number of events= 165 

                           coef exp(coef) se(coef)      z Pr(>|z|)
EXPN_GROUPPre-Expansion -0.2186    0.8036   0.2458 -0.889    0.374

                        exp(coef) exp(-coef) lower .95 upper .95
EXPN_GROUPPre-Expansion    0.8036      1.244    0.4964     1.301

Concordance= 0.519  (se = 0.016 )
Rsquare= 0.001   (max possible= 0.932 )
Likelihood ratio test= 0.75  on 1 df,   p=0.3855
Wald test            = 0.79  on 1 df,   p=0.3739
Score (logrank) test = 0.79  on 1 df,   p=0.373





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  EXPN_GROUP

Education

uni_var(test_var = "EDUCATION_F", data_imp = data)
_________________________________________________
   
## EDUCATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EDUCATION_F, data = data)

   11 observations deleted due to missingness 
                           n events median 0.95LCL 0.95UCL
EDUCATION_F=21% or more  326    161   32.9    22.5    97.3
EDUCATION_F=13 - 20.9%   369    180   38.0    25.2    93.9
EDUCATION_F=7 - 12.9%    392    196   41.6    27.0   102.3
EDUCATION_F=Less than 7% 293    146   55.6    26.8   134.1

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EDUCATION_F, data = data)

11 observations deleted due to missingness 
                EDUCATION_F=21% or more 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    193     107    0.656  0.0270        0.605        0.711
   24    139      30    0.548  0.0290        0.494        0.608
   36    101      15    0.485  0.0299        0.429        0.547
   48     81       1    0.480  0.0300        0.424        0.542
   60     69       1    0.474  0.0302        0.418        0.537
  120     11       7    0.396  0.0389        0.327        0.480

                EDUCATION_F=13 - 20.9% 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    214     119    0.661  0.0254        0.613        0.713
   24    162      31    0.562  0.0271        0.512        0.618
   36    127      15    0.509  0.0278        0.457        0.566
   48    101       6    0.483  0.0283        0.431        0.542
   60     81       2    0.473  0.0286        0.420        0.533
  120     30       6    0.432  0.0308        0.376        0.497

                EDUCATION_F=7 - 12.9% 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    241     126    0.669  0.0242        0.624        0.718
   24    190      35    0.569  0.0258        0.521        0.622
   36    156      15    0.522  0.0264        0.472        0.576
   48    128      13    0.476  0.0269        0.426        0.532
   60    112       2    0.469  0.0271        0.419        0.525
  120     31       5    0.436  0.0291        0.382        0.497

                EDUCATION_F=Less than 7% 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    190      84    0.704  0.0271        0.653        0.760
   24    147      32    0.583  0.0298        0.527        0.644
   36    120      12    0.534  0.0304        0.478        0.597
   48     98       5    0.510  0.0309        0.453        0.575
   60     83       3    0.493  0.0314        0.436        0.559
  120     23       9    0.426  0.0352        0.362        0.500




   
## Univariable Cox Proportional Hazard Model for:  EDUCATION_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EDUCATION_F, data = data)

  n= 1380, number of events= 683 
   (11 observations deleted due to missingness)

                            coef exp(coef) se(coef)      z Pr(>|z|)
EDUCATION_F13 - 20.9%   -0.02440   0.97590  0.10852 -0.225    0.822
EDUCATION_F7 - 12.9%    -0.04748   0.95363  0.10648 -0.446    0.656
EDUCATION_FLess than 7% -0.07783   0.92513  0.11436 -0.681    0.496

                        exp(coef) exp(-coef) lower .95 upper .95
EDUCATION_F13 - 20.9%      0.9759      1.025    0.7889     1.207
EDUCATION_F7 - 12.9%       0.9536      1.049    0.7740     1.175
EDUCATION_FLess than 7%    0.9251      1.081    0.7394     1.158

Concordance= 0.508  (se = 0.011 )
Rsquare= 0   (max possible= 0.999 )
Likelihood ratio test= 0.51  on 3 df,   p=0.9159
Wald test            = 0.51  on 3 df,   p=0.916
Score (logrank) test = 0.51  on 3 df,   p=0.916
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  EDUCATION_F

Urban/Rural

uni_var(test_var = "U_R_F", data_imp = data)
_________________________________________________
   
## U_R_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ U_R_F, data = data)

   40 observations deleted due to missingness 
               n events median 0.95LCL 0.95UCL
U_R_F=Metro 1169    577   39.9   30.03    63.8
U_R_F=Urban  161     79   42.7   20.04      NA
U_R_F=Rural   21     14   15.6    3.75      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ U_R_F, data = data)

40 observations deleted due to missingness 
                U_R_F=Metro 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    719     365    0.676  0.0140        0.650        0.704
   24    547     112    0.567  0.0151        0.538        0.597
   36    428      52    0.511  0.0155        0.482        0.542
   48    351      16    0.491  0.0157        0.461        0.523
   60    298       7    0.480  0.0158        0.450        0.512
  120     86      23    0.431  0.0175        0.398        0.466

                U_R_F=Urban 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     90      55    0.636  0.0393        0.563        0.717
   24     71      11    0.555  0.0412        0.480        0.642
   36     63       2    0.538  0.0416        0.462        0.626
   48     47       8    0.465  0.0433        0.387        0.558
   60     39       1    0.455  0.0435        0.377        0.549
  120      9       2    0.427  0.0451        0.347        0.525

                U_R_F=Rural 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      9      10    0.503   0.113        0.324        0.780
   24      7       2    0.391   0.112        0.223        0.686
   36      5       1    0.335   0.109        0.177        0.634
   48      4       1    0.268   0.106        0.124        0.581
   60      3       0    0.268   0.106        0.124        0.581




   
## Univariable Cox Proportional Hazard Model for:  U_R_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ U_R_F, data = data)

  n= 1351, number of events= 670 
   (40 observations deleted due to missingness)

              coef exp(coef) se(coef)     z Pr(>|z|)  
U_R_FUrban 0.03668   1.03736  0.11998 0.306   0.7598  
U_R_FRural 0.57597   1.77886  0.27056 2.129   0.0333 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

           exp(coef) exp(-coef) lower .95 upper .95
U_R_FUrban     1.037     0.9640     0.820     1.312
U_R_FRural     1.779     0.5622     1.047     3.023

Concordance= 0.508  (se = 0.007 )
Rsquare= 0.003   (max possible= 0.999 )
Likelihood ratio test= 3.85  on 2 df,   p=0.1459
Wald test            = 4.57  on 2 df,   p=0.1018
Score (logrank) test = 4.69  on 2 df,   p=0.09575
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  U_R_F

Class (treatment at performing facility)

uni_var(test_var = "CLASS_OF_CASE_F", data_imp = data)
_________________________________________________
   
## CLASS_OF_CASE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CLASS_OF_CASE_F, data = data)

                                  n events median 0.95LCL 0.95UCL
CLASS_OF_CASE_F=Other_Facility   96     30  106.2    38.0      NA
CLASS_OF_CASE_F=All_Part_Prim  1295    657   38.1    28.4    60.9

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CLASS_OF_CASE_F, data = data)

                CLASS_OF_CASE_F=Other_Facility 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     43      20    0.723  0.0533        0.625        0.835
   24     33       4    0.651  0.0590        0.545        0.777
   36     31       1    0.631  0.0604        0.523        0.761
   48     23       3    0.560  0.0662        0.444        0.706
   60     21       0    0.560  0.0662        0.444        0.706
  120      7       2    0.480  0.0795        0.347        0.664

                CLASS_OF_CASE_F=All_Part_Prim 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    800     420    0.668  0.0133        0.643        0.695
   24    610     124    0.561  0.0142        0.534        0.589
   36    476      56    0.507  0.0146        0.479        0.536
   48    388      22    0.482  0.0148        0.454        0.512
   60    327       8    0.472  0.0149        0.443        0.502
  120     90      25    0.423  0.0164        0.392        0.457




   
## Univariable Cox Proportional Hazard Model for:  CLASS_OF_CASE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CLASS_OF_CASE_F, data = data)

  n= 1391, number of events= 687 

                               coef exp(coef) se(coef)     z Pr(>|z|)
CLASS_OF_CASE_FAll_Part_Prim 0.2581    1.2945   0.1867 1.382    0.167

                             exp(coef) exp(-coef) lower .95 upper .95
CLASS_OF_CASE_FAll_Part_Prim     1.294     0.7725    0.8978     1.867

Concordance= 0.507  (se = 0.005 )
Rsquare= 0.001   (max possible= 0.999 )
Likelihood ratio test= 2.07  on 1 df,   p=0.1503
Wald test            = 1.91  on 1 df,   p=0.1669
Score (logrank) test = 1.92  on 1 df,   p=0.1657
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  CLASS_OF_CASE_F

Year

uni_var(test_var = "YEAR_OF_DIAGNOSIS", data_imp = data)
_________________________________________________
   
## YEAR_OF_DIAGNOSIS
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ YEAR_OF_DIAGNOSIS, data = data)

                         n events median 0.95LCL 0.95UCL
YEAR_OF_DIAGNOSIS=2004 128     68   48.1   19.48      NA
YEAR_OF_DIAGNOSIS=2005 126     68   51.3   27.89      NA
YEAR_OF_DIAGNOSIS=2006 114     61   34.3   15.34      NA
YEAR_OF_DIAGNOSIS=2007  93     55   21.6   12.91      NA
YEAR_OF_DIAGNOSIS=2008 125     67   25.9   20.34      NA
YEAR_OF_DIAGNOSIS=2009 116     69   27.0   13.83    76.5
YEAR_OF_DIAGNOSIS=2010 107     50   60.9   24.34      NA
YEAR_OF_DIAGNOSIS=2011  94     49   23.2    9.53      NA
YEAR_OF_DIAGNOSIS=2012 115     53     NA   21.22      NA
YEAR_OF_DIAGNOSIS=2013 128     57     NA   27.53      NA
YEAR_OF_DIAGNOSIS=2014 130     56   35.3   21.49      NA
YEAR_OF_DIAGNOSIS=2015 115     34     NA   27.37      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ YEAR_OF_DIAGNOSIS, data = data)

                YEAR_OF_DIAGNOSIS=2004 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     79      42    0.663  0.0424        0.585        0.752
   24     64      13    0.553  0.0451        0.471        0.648
   36     58       4    0.518  0.0455        0.436        0.615
   48     56       2    0.500  0.0456        0.418        0.598
   60     53       2    0.482  0.0457        0.400        0.581
  120     33       4    0.443  0.0460        0.362        0.543

                YEAR_OF_DIAGNOSIS=2005 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     87      35    0.718  0.0405        0.643        0.802
   24     70      15    0.592  0.0446        0.510        0.686
   36     64       5    0.549  0.0452        0.468        0.646
   48     58       4    0.514  0.0456        0.432        0.612
   60     55       2    0.497  0.0457        0.415        0.595
  120     37       6    0.439  0.0461        0.358        0.540

                YEAR_OF_DIAGNOSIS=2006 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     68      38    0.656  0.0453        0.573        0.751
   24     54      12    0.540  0.0481        0.453        0.643
   36     47       6    0.479  0.0487        0.392        0.584
   48     44       2    0.458  0.0487        0.372        0.565
   60     43       0    0.458  0.0487        0.372        0.565
  120     21       3    0.412  0.0507        0.324        0.524

                YEAR_OF_DIAGNOSIS=2007 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     58      35    0.622  0.0504        0.531        0.729
   24     42      12    0.487  0.0524        0.395        0.602
   36     36       5    0.429  0.0523        0.337        0.544
   48     32       2    0.404  0.0521        0.314        0.520
   60     31       0    0.404  0.0521        0.314        0.520
  120      6       1    0.391  0.0520        0.301        0.508

                YEAR_OF_DIAGNOSIS=2008 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     80      37    0.694  0.0420        0.616        0.781
   24     61      17    0.544  0.0460        0.461        0.642
   36     50       8    0.473  0.0464        0.390        0.573
   48     43       0    0.473  0.0464        0.390        0.573
   60     42       0    0.473  0.0464        0.390        0.573

                YEAR_OF_DIAGNOSIS=2009 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     68      44    0.615  0.0456        0.532        0.711
   24     53      11    0.515  0.0472        0.430        0.616
   36     47       4    0.475  0.0475        0.390        0.578
   48     43       4    0.435  0.0476        0.351        0.539
   60     40       1    0.424  0.0476        0.340        0.528

                YEAR_OF_DIAGNOSIS=2010 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     63      33    0.672  0.0469        0.586        0.771
   24     55       7    0.597  0.0495        0.508        0.703
   36     47       5    0.542  0.0507        0.451        0.651
   48     44       2    0.519  0.0511        0.428        0.630
   60     41       1    0.507  0.0514        0.416        0.618

                YEAR_OF_DIAGNOSIS=2011 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     46      39    0.556  0.0533        0.461        0.672
   24     40       5    0.496  0.0540        0.400        0.614
   36     35       1    0.483  0.0541        0.387        0.601
   48     30       2    0.455  0.0544        0.360        0.575
   60     24       1    0.440  0.0547        0.345        0.561

                YEAR_OF_DIAGNOSIS=2012 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     70      37    0.670  0.0446        0.588        0.763
   24     56      11    0.562  0.0478        0.476        0.664
   36     47       3    0.531  0.0483        0.445        0.635
   48     39       1    0.520  0.0486        0.433        0.625
   60     19       1    0.504  0.0497        0.415        0.611

                YEAR_OF_DIAGNOSIS=2013 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     84      37    0.705  0.0408        0.630        0.790
   24     71       7    0.644  0.0433        0.565        0.735
   36     55       8    0.571  0.0454        0.489        0.667
   48     21       5    0.509  0.0484        0.422        0.613

                YEAR_OF_DIAGNOSIS=2014 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     76      38    0.690  0.0421        0.612        0.777
   24     50      11    0.579  0.0468        0.494        0.678
   36     21       6    0.494  0.0520        0.402        0.607
   48      1       1    0.453  0.0619        0.346        0.592

                YEAR_OF_DIAGNOSIS=2015 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     64      25    0.753  0.0434        0.672        0.843
   24     27       7    0.664  0.0497        0.573        0.768




   
## Univariable Cox Proportional Hazard Model for:  YEAR_OF_DIAGNOSIS
X matrix deemed to be singular; variable 12
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ YEAR_OF_DIAGNOSIS, data = data)

  n= 1391, number of events= 687 

                          coef exp(coef) se(coef)      z Pr(>|z|)
YEAR_OF_DIAGNOSIS2005 -0.03775   0.96295  0.17151 -0.220    0.826
YEAR_OF_DIAGNOSIS2006  0.07972   1.08298  0.17648  0.452    0.651
YEAR_OF_DIAGNOSIS2007  0.17314   1.18903  0.18161  0.953    0.340
YEAR_OF_DIAGNOSIS2008  0.05630   1.05791  0.17243  0.326    0.744
YEAR_OF_DIAGNOSIS2009  0.19520   1.21556  0.17133  1.139    0.255
YEAR_OF_DIAGNOSIS2010 -0.03895   0.96180  0.18681 -0.209    0.835
YEAR_OF_DIAGNOSIS2011  0.19929   1.22053  0.18800  1.060    0.289
YEAR_OF_DIAGNOSIS2012 -0.02436   0.97593  0.18396 -0.132    0.895
YEAR_OF_DIAGNOSIS2013 -0.08049   0.92267  0.18049 -0.446    0.656
YEAR_OF_DIAGNOSIS2014  0.02562   1.02595  0.18160  0.141    0.888
YEAR_OF_DIAGNOSIS2015 -0.30376   0.73804  0.21134 -1.437    0.151
YEAR_OF_DIAGNOSIS2016       NA        NA  0.00000     NA       NA

                      exp(coef) exp(-coef) lower .95 upper .95
YEAR_OF_DIAGNOSIS2005    0.9630     1.0385    0.6880     1.348
YEAR_OF_DIAGNOSIS2006    1.0830     0.9234    0.7663     1.531
YEAR_OF_DIAGNOSIS2007    1.1890     0.8410    0.8329     1.697
YEAR_OF_DIAGNOSIS2008    1.0579     0.9453    0.7545     1.483
YEAR_OF_DIAGNOSIS2009    1.2156     0.8227    0.8688     1.701
YEAR_OF_DIAGNOSIS2010    0.9618     1.0397    0.6669     1.387
YEAR_OF_DIAGNOSIS2011    1.2205     0.8193    0.8444     1.764
YEAR_OF_DIAGNOSIS2012    0.9759     1.0247    0.6805     1.400
YEAR_OF_DIAGNOSIS2013    0.9227     1.0838    0.6478     1.314
YEAR_OF_DIAGNOSIS2014    1.0260     0.9747    0.7187     1.465
YEAR_OF_DIAGNOSIS2015    0.7380     1.3549    0.4877     1.117
YEAR_OF_DIAGNOSIS2016        NA         NA        NA        NA

Concordance= 0.536  (se = 0.012 )
Rsquare= 0.007   (max possible= 0.999 )
Likelihood ratio test= 10.05  on 11 df,   p=0.526
Wald test            = 9.81  on 11 df,   p=0.548
Score (logrank) test = 9.89  on 11 df,   p=0.5406
Removed 2 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  YEAR_OF_DIAGNOSIS
This manual palette can handle a maximum of 10 values. You have supplied 12.

Primary Site

uni_var(test_var = "SITE_TEXT", data_imp = data)
_________________________________________________
   
## SITE_TEXT
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SITE_TEXT, data = data)

                                                n events median 0.95LCL 0.95UCL
SITE_TEXT=C01.9 Tongue: Base NOS                5      3  17.84   13.60      NA
SITE_TEXT=C02.1 Tongue: Border, Tip             1      0     NA      NA      NA
SITE_TEXT=C02.9 Tongue: NOS                     1      1   0.72      NA      NA
SITE_TEXT=C03.0 Gum: Upper                      1      1   9.17      NA      NA
SITE_TEXT=C03.9 Gum NOS                         1      0     NA      NA      NA
SITE_TEXT=C04.9 Floor of Mouth NOS              1      1   6.31      NA      NA
SITE_TEXT=C05.0 Hard Palate                    15      5     NA    5.26      NA
SITE_TEXT=C05.1 Soft Palate NOS                 9      4     NA    8.11      NA
SITE_TEXT=C05.8 Palate: Overlapping             2      2   8.53    3.88      NA
SITE_TEXT=C05.9 Palate NOS                      4      2  53.91    3.65      NA
SITE_TEXT=C06.0 Cheek Mucosa                    3      2   1.87    0.99      NA
SITE_TEXT=C06.1 Mouth: Vestibule                2      2   3.58    2.27      NA
SITE_TEXT=C06.9 Mouth NOS                       1      1   6.51      NA      NA
SITE_TEXT=C07.9 Parotid Gland                   1      1  12.16      NA      NA
SITE_TEXT=C09.8 Tonsil: Overlapping             1      1  16.26      NA      NA
SITE_TEXT=C09.9 Tonsil NOS                      9      3     NA    8.64      NA
SITE_TEXT=C11.1 Nasopharynx: Poster Wall        2      0     NA      NA      NA
SITE_TEXT=C14.2 Waldeyer Ring                   4      2  20.34    2.50      NA
SITE_TEXT=C30.0 Nasal Cavity                  572    245  93.96   49.84      NA
SITE_TEXT=C37.9 Thymus                          4      3  12.86    3.35      NA
SITE_TEXT=C42.2 Spleen                          4      3  35.47    4.70      NA
SITE_TEXT=C77.0 Lymph Nodes: HeadFaceNeck      75     33  68.27   26.18      NA
SITE_TEXT=C77.1 Intrathoracic Lymph Nodes      97     38     NA   61.90      NA
SITE_TEXT=C77.2 Intra-abdominal LymphNodes     27     23   6.28    3.78    51.3
SITE_TEXT=C77.3 Lymph Nodes of axilla or arm   26     11     NA   21.06      NA
SITE_TEXT=C77.4 Lymph Nodes: Leg               20     12  25.03   13.11      NA
SITE_TEXT=C77.5 Pelvic Lymph Nodes              6      6   1.97    1.18      NA
SITE_TEXT=C77.8 Lymph Nodes: multiple region  226    117  28.25   23.10      NA
SITE_TEXT=C77.9 Lymph Node NOS                271    165  19.48   14.29    29.8

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SITE_TEXT, data = data)

                SITE_TEXT=C01.9 Tongue: Base NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       1    0.800   0.179       0.5161            1
   24      1       2    0.267   0.226       0.0507            1
   36      1       0    0.267   0.226       0.0507            1
   48      1       0    0.267   0.226       0.0507            1
   60      1       0    0.267   0.226       0.0507            1

                SITE_TEXT=C02.1 Tongue: Border, Tip 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1
   60      1       0        1       0            1            1

                SITE_TEXT=C02.9 Tongue: NOS 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                SITE_TEXT=C03.0 Gum: Upper 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                SITE_TEXT=C03.9 Gum NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1

                SITE_TEXT=C04.9 Floor of Mouth NOS 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                SITE_TEXT=C05.0 Hard Palate 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      6       5    0.583   0.142        0.362        0.941
   24      5       0    0.583   0.142        0.362        0.941
   36      5       0    0.583   0.142        0.362        0.941
   48      3       0    0.583   0.142        0.362        0.941
   60      3       0    0.583   0.142        0.362        0.941

                SITE_TEXT=C05.1 Soft Palate NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      6       3    0.667   0.157         0.42        1.000
   24      3       1    0.556   0.166         0.31        0.997
   36      2       0    0.556   0.166         0.31        0.997
   48      2       0    0.556   0.166         0.31        0.997

                SITE_TEXT=C05.8 Palate: Overlapping 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
      12.000        1.000        1.000        0.500        0.354        0.125        1.000 

                SITE_TEXT=C05.9 Palate NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       1    0.667   0.272       0.2995            1
   24      2       0    0.667   0.272       0.2995            1
   36      2       0    0.667   0.272       0.2995            1
   48      2       0    0.667   0.272       0.2995            1
   60      1       1    0.333   0.272       0.0673            1
  120      1       0    0.333   0.272       0.0673            1

                SITE_TEXT=C06.0 Cheek Mucosa 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       2    0.333   0.272       0.0673            1
   24      1       0    0.333   0.272       0.0673            1
   36      1       0    0.333   0.272       0.0673            1

                SITE_TEXT=C06.1 Mouth: Vestibule 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                SITE_TEXT=C06.9 Mouth NOS 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                SITE_TEXT=C07.9 Parotid Gland 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
          12            1            0            1            0            1            1 

                SITE_TEXT=C09.8 Tonsil: Overlapping 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
          12            1            0            1            0            1            1 

                SITE_TEXT=C09.9 Tonsil NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      4       3    0.593   0.185        0.322            1
   24      4       0    0.593   0.185        0.322            1
   36      2       0    0.593   0.185        0.322            1
   48      2       0    0.593   0.185        0.322            1
   60      2       0    0.593   0.185        0.322            1
  120      1       0    0.593   0.185        0.322            1

                SITE_TEXT=C11.1 Nasopharynx: Poster Wall 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      2       0        1       0            1            1

                SITE_TEXT=C14.2 Waldeyer Ring 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       1     0.75   0.217        0.426            1
   24      2       1     0.50   0.250        0.188            1
   36      2       0     0.50   0.250        0.188            1
   48      1       0     0.50   0.250        0.188            1
   60      1       0     0.50   0.250        0.188            1
  120      1       0     0.50   0.250        0.188            1

                SITE_TEXT=C30.0 Nasal Cavity 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    354     168    0.696  0.0197        0.658        0.735
   24    273      38    0.617  0.0212        0.577        0.660
   36    215      15    0.581  0.0219        0.540        0.626
   48    166      13    0.543  0.0229        0.500        0.590
   60    132       2    0.536  0.0231        0.493        0.583
  120     33       8    0.489  0.0269        0.439        0.545

                SITE_TEXT=C37.9 Thymus 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       2     0.50   0.250       0.1877            1
   24      1       1     0.25   0.217       0.0458            1
   36      1       0     0.25   0.217       0.0458            1
   48      1       0     0.25   0.217       0.0458            1
   60      1       0     0.25   0.217       0.0458            1

                SITE_TEXT=C42.2 Spleen 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       1     0.75   0.217       0.4259            1
   24      3       0     0.75   0.217       0.4259            1
   36      2       1     0.50   0.250       0.1877            1
   48      1       1     0.25   0.217       0.0458            1
   60      1       0     0.25   0.217       0.0458            1
  120      1       0     0.25   0.217       0.0458            1

                SITE_TEXT=C77.0 Lymph Nodes: HeadFaceNeck 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     48      18    0.743  0.0524        0.647        0.853
   24     37       7    0.628  0.0596        0.522        0.757
   36     30       4    0.559  0.0623        0.450        0.696
   48     28       1    0.541  0.0629        0.431        0.679
   60     27       1    0.522  0.0636        0.411        0.662
  120      8       2    0.481  0.0647        0.370        0.626

                SITE_TEXT=C77.1 Intrathoracic Lymph Nodes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     79      13    0.861  0.0358        0.794        0.934
   24     60      17    0.674  0.0490        0.585        0.777
   36     52       2    0.651  0.0499        0.560        0.757
   48     47       2    0.625  0.0512        0.533        0.734
   60     37       2    0.597  0.0526        0.502        0.710
  120     13       2    0.562  0.0551        0.464        0.681

                SITE_TEXT=C77.2 Intra-abdominal LymphNodes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      7      18   0.3009  0.0926       0.1647        0.550
   24      6       1   0.2579  0.0888       0.1314        0.506
   36      6       0   0.2579  0.0888       0.1314        0.506
   48      6       0   0.2579  0.0888       0.1314        0.506
   60      4       2   0.1720  0.0772       0.0713        0.415
  120      1       2   0.0645  0.0571       0.0114        0.366

                SITE_TEXT=C77.3 Lymph Nodes of axilla or arm  
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     17       7    0.720  0.0898        0.564        0.919
   24     14       2    0.632  0.0980        0.467        0.857
   36     10       2    0.538  0.1036        0.369        0.785
   48      9       0    0.538  0.1036        0.369        0.785
   60      9       0    0.538  0.1036        0.369        0.785
  120      5       0    0.538  0.1036        0.369        0.785

                SITE_TEXT=C77.4 Lymph Nodes: Leg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     13       6    0.684   0.107        0.504        0.929
   24      9       3    0.526   0.115        0.344        0.806
   36      7       2    0.409   0.115        0.236        0.710
   48      6       1    0.351   0.113        0.187        0.658
   60      6       0    0.351   0.113        0.187        0.658
  120      3       0    0.351   0.113        0.187        0.658

                SITE_TEXT=C77.5 Pelvic Lymph Nodes 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
      12.000        2.000        4.000        0.333        0.192        0.108        1.000 

                SITE_TEXT=C77.8 Lymph Nodes: multiple region 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    142      73    0.668  0.0318        0.609        0.734
   24    110      23    0.555  0.0341        0.492        0.626
   36     84      13    0.488  0.0347        0.425        0.561
   48     66       5    0.457  0.0352        0.393        0.531
   60     60       0    0.457  0.0352        0.393        0.531
  120     15       3    0.420  0.0384        0.351        0.503

                SITE_TEXT=C77.9 Lymph Node NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    144     107    0.589  0.0306        0.532        0.652
   24    108      27    0.476  0.0316        0.418        0.542
   36     84      18    0.394  0.0315        0.337        0.461
   48     69       2    0.385  0.0314        0.328        0.452
   60     62       0    0.385  0.0314        0.328        0.452
  120     15      10    0.301  0.0347        0.240        0.378




   
## Univariable Cox Proportional Hazard Model for:  SITE_TEXT
Loglik converged before variable  11,19,36 ; beta may be infinite. X matrix deemed to be singular; variable 1 2 3 4 5 6 7 8 10 12 13 14 15 18 20 21 25 30 31 48
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SITE_TEXT, data = data)

  n= 1391, number of events= 687 

                                                   coef  exp(coef)   se(coef)      z Pr(>|z|)    
SITE_TEXTC00.1 External Lip: Lower NOS               NA         NA  0.000e+00     NA       NA    
SITE_TEXTC00.2 External Lip: NOS                     NA         NA  0.000e+00     NA       NA    
SITE_TEXTC00.3 Lip: Upper Mucosa                     NA         NA  0.000e+00     NA       NA    
SITE_TEXTC00.4 Lip: Lower Mucosa                     NA         NA  0.000e+00     NA       NA    
SITE_TEXTC00.5 Lip: Mucosa NOS                       NA         NA  0.000e+00     NA       NA    
SITE_TEXTC00.6 Lip: Commissure                       NA         NA  0.000e+00     NA       NA    
SITE_TEXTC00.8 Lip: Overlapping                      NA         NA  0.000e+00     NA       NA    
SITE_TEXTC00.9 Lip NOS                               NA         NA  0.000e+00     NA       NA    
SITE_TEXTC01.9 Tongue: Base NOS               9.210e-02  1.096e+00  5.827e-01  0.158  0.87441    
SITE_TEXTC02.0 Tongue: Dorsal NOS                    NA         NA  0.000e+00     NA       NA    
SITE_TEXTC02.1 Tongue: Border, Tip           -1.461e+01  4.532e-07  1.379e+03 -0.011  0.99155    
SITE_TEXTC02.2 Tongue: Ventral NOS                   NA         NA  0.000e+00     NA       NA    
SITE_TEXTC02.3 Tongue: Anterior NOS                  NA         NA  0.000e+00     NA       NA    
SITE_TEXTC02.4 Lingual Tonsil                        NA         NA  0.000e+00     NA       NA    
SITE_TEXTC02.8 Tongue: Overlapping                   NA         NA  0.000e+00     NA       NA    
SITE_TEXTC02.9 Tongue: NOS                    2.988e+00  1.984e+01  1.012e+00  2.953  0.00314 ** 
SITE_TEXTC03.0 Gum: Upper                     8.076e-01  2.243e+00  1.004e+00  0.805  0.42100    
SITE_TEXTC03.1 Gum: Lower                            NA         NA  0.000e+00     NA       NA    
SITE_TEXTC03.9 Gum NOS                       -1.461e+01  4.533e-07  1.590e+03 -0.009  0.99267    
SITE_TEXTC04.0 Mouth: Anterior Floor                 NA         NA  0.000e+00     NA       NA    
SITE_TEXTC04.1 Mouth: Lateral Floor                  NA         NA  0.000e+00     NA       NA    
SITE_TEXTC04.9 Floor of Mouth NOS             1.087e+00  2.966e+00  1.004e+00  1.083  0.27880    
SITE_TEXTC05.0 Hard Palate                   -4.427e-01  6.423e-01  4.540e-01 -0.975  0.32951    
SITE_TEXTC05.1 Soft Palate NOS               -3.798e-01  6.840e-01  5.061e-01 -0.750  0.45302    
SITE_TEXTC05.2 Uvula                                 NA         NA  0.000e+00     NA       NA    
SITE_TEXTC05.8 Palate: Overlapping            9.179e-01  2.504e+00  7.119e-01  1.289  0.19727    
SITE_TEXTC05.9 Palate NOS                    -1.926e-01  8.248e-01  7.116e-01 -0.271  0.78667    
SITE_TEXTC06.0 Cheek Mucosa                   5.462e-01  1.727e+00  7.116e-01  0.768  0.44268    
SITE_TEXTC06.1 Mouth: Vestibule               1.570e+00  4.805e+00  7.133e-01  2.201  0.02776 *  
SITE_TEXTC06.2 Retromolar Area                       NA         NA  0.000e+00     NA       NA    
SITE_TEXTC06.8 Mouth: Other Overlapping              NA         NA  0.000e+00     NA       NA    
SITE_TEXTC06.9 Mouth NOS                      1.058e+00  2.882e+00  1.004e+00  1.054  0.29179    
SITE_TEXTC07.9 Parotid Gland                  6.244e-01  1.867e+00  1.003e+00  0.622  0.53376    
SITE_TEXTC09.8 Tonsil: Overlapping            4.504e-01  1.569e+00  1.003e+00  0.449  0.65349    
SITE_TEXTC09.9 Tonsil NOS                    -6.806e-01  5.063e-01  5.826e-01 -1.168  0.24276    
SITE_TEXTC11.1 Nasopharynx: Poster Wall      -1.461e+01  4.533e-07  1.126e+03 -0.013  0.98965    
SITE_TEXTC14.2 Waldeyer Ring                 -3.997e-01  6.705e-01  7.114e-01 -0.562  0.57424    
SITE_TEXTC30.0 Nasal Cavity                  -4.589e-01  6.320e-01  1.007e-01 -4.555 5.23e-06 ***
SITE_TEXTC37.9 Thymus                         2.397e-01  1.271e+00  5.826e-01  0.411  0.68075    
SITE_TEXTC42.2 Spleen                        -7.318e-02  9.294e-01  5.826e-01 -0.126  0.90004    
SITE_TEXTC77.0 Lymph Nodes: HeadFaceNeck     -4.577e-01  6.328e-01  1.908e-01 -2.399  0.01644 *  
SITE_TEXTC77.1 Intrathoracic Lymph Nodes     -7.398e-01  4.772e-01  1.801e-01 -4.108 3.99e-05 ***
SITE_TEXTC77.2 Intra-abdominal LymphNodes     6.978e-01  2.009e+00  2.227e-01  3.133  0.00173 ** 
SITE_TEXTC77.3 Lymph Nodes of axilla or arm  -5.671e-01  5.672e-01  3.115e-01 -1.821  0.06868 .  
SITE_TEXTC77.4 Lymph Nodes: Leg              -1.113e-01  8.947e-01  2.991e-01 -0.372  0.70974    
SITE_TEXTC77.5 Pelvic Lymph Nodes             1.213e+00  3.362e+00  4.162e-01  2.913  0.00358 ** 
SITE_TEXTC77.8 Lymph Nodes: multiple region  -2.755e-01  7.592e-01  1.209e-01 -2.279  0.02268 *  
SITE_TEXTC77.9 Lymph Node NOS                        NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                             exp(coef) exp(-coef) lower .95 upper .95
SITE_TEXTC00.1 External Lip: Lower NOS              NA         NA        NA        NA
SITE_TEXTC00.2 External Lip: NOS                    NA         NA        NA        NA
SITE_TEXTC00.3 Lip: Upper Mucosa                    NA         NA        NA        NA
SITE_TEXTC00.4 Lip: Lower Mucosa                    NA         NA        NA        NA
SITE_TEXTC00.5 Lip: Mucosa NOS                      NA         NA        NA        NA
SITE_TEXTC00.6 Lip: Commissure                      NA         NA        NA        NA
SITE_TEXTC00.8 Lip: Overlapping                     NA         NA        NA        NA
SITE_TEXTC00.9 Lip NOS                              NA         NA        NA        NA
SITE_TEXTC01.9 Tongue: Base NOS              1.096e+00  9.120e-01    0.3500    3.4353
SITE_TEXTC02.0 Tongue: Dorsal NOS                   NA         NA        NA        NA
SITE_TEXTC02.1 Tongue: Border, Tip           4.532e-07  2.206e+06    0.0000       Inf
SITE_TEXTC02.2 Tongue: Ventral NOS                  NA         NA        NA        NA
SITE_TEXTC02.3 Tongue: Anterior NOS                 NA         NA        NA        NA
SITE_TEXTC02.4 Lingual Tonsil                       NA         NA        NA        NA
SITE_TEXTC02.8 Tongue: Overlapping                  NA         NA        NA        NA
SITE_TEXTC02.9 Tongue: NOS                   1.984e+01  5.039e-02    2.7319  144.1424
SITE_TEXTC03.0 Gum: Upper                    2.243e+00  4.459e-01    0.3137   16.0324
SITE_TEXTC03.1 Gum: Lower                           NA         NA        NA        NA
SITE_TEXTC03.9 Gum NOS                       4.533e-07  2.206e+06    0.0000       Inf
SITE_TEXTC04.0 Mouth: Anterior Floor                NA         NA        NA        NA
SITE_TEXTC04.1 Mouth: Lateral Floor                 NA         NA        NA        NA
SITE_TEXTC04.9 Floor of Mouth NOS            2.966e+00  3.371e-01    0.4146   21.2207
SITE_TEXTC05.0 Hard Palate                   6.423e-01  1.557e+00    0.2638    1.5638
SITE_TEXTC05.1 Soft Palate NOS               6.840e-01  1.462e+00    0.2537    1.8445
SITE_TEXTC05.2 Uvula                                NA         NA        NA        NA
SITE_TEXTC05.8 Palate: Overlapping           2.504e+00  3.993e-01    0.6204   10.1073
SITE_TEXTC05.9 Palate NOS                    8.248e-01  1.212e+00    0.2045    3.3269
SITE_TEXTC06.0 Cheek Mucosa                  1.727e+00  5.791e-01    0.4281    6.9649
SITE_TEXTC06.1 Mouth: Vestibule              4.805e+00  2.081e-01    1.1873   19.4497
SITE_TEXTC06.2 Retromolar Area                      NA         NA        NA        NA
SITE_TEXTC06.8 Mouth: Other Overlapping             NA         NA        NA        NA
SITE_TEXTC06.9 Mouth NOS                     2.882e+00  3.470e-01    0.4028   20.6132
SITE_TEXTC07.9 Parotid Gland                 1.867e+00  5.356e-01    0.2612   13.3445
SITE_TEXTC09.8 Tonsil: Overlapping           1.569e+00  6.374e-01    0.2196   11.2109
SITE_TEXTC09.9 Tonsil NOS                    5.063e-01  1.975e+00    0.1616    1.5862
SITE_TEXTC11.1 Nasopharynx: Poster Wall      4.533e-07  2.206e+06    0.0000       Inf
SITE_TEXTC14.2 Waldeyer Ring                 6.705e-01  1.491e+00    0.1663    2.7039
SITE_TEXTC30.0 Nasal Cavity                  6.320e-01  1.582e+00    0.5188    0.7699
SITE_TEXTC37.9 Thymus                        1.271e+00  7.868e-01    0.4057    3.9816
SITE_TEXTC42.2 Spleen                        9.294e-01  1.076e+00    0.2967    2.9118
SITE_TEXTC77.0 Lymph Nodes: HeadFaceNeck     6.328e-01  1.580e+00    0.4354    0.9196
SITE_TEXTC77.1 Intrathoracic Lymph Nodes     4.772e-01  2.095e+00    0.3353    0.6792
SITE_TEXTC77.2 Intra-abdominal LymphNodes    2.009e+00  4.977e-01    1.2986    3.1093
SITE_TEXTC77.3 Lymph Nodes of axilla or arm  5.672e-01  1.763e+00    0.3080    1.0444
SITE_TEXTC77.4 Lymph Nodes: Leg              8.947e-01  1.118e+00    0.4978    1.6078
SITE_TEXTC77.5 Pelvic Lymph Nodes            3.362e+00  2.974e-01    1.4870    7.6013
SITE_TEXTC77.8 Lymph Nodes: multiple region  7.592e-01  1.317e+00    0.5991    0.9622
SITE_TEXTC77.9 Lymph Node NOS                       NA         NA        NA        NA

Concordance= 0.577  (se = 0.011 )
Rsquare= 0.056   (max possible= 0.999 )
Likelihood ratio test= 79.85  on 28 df,   p=7.036e-07
Wald test            = 94.03  on 28 df,   p=4.595e-09
Score (logrank) test = 120.5  on 28 df,   p=1.918e-13
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 21 rows containing missing values (geom_errorbar).Removed 49 rows containing missing values (geom_text).Removed 49 rows containing missing values (geom_text).Removed 49 rows containing missing values (geom_text).Removed 49 rows containing missing values (geom_text).Removed 49 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SITE_TEXT
This manual palette can handle a maximum of 10 values. You have supplied 29.

Histology

#uni_var(test_var = "HISTOLOGY_F_LIM", data_imp = data)

Grade

#uni_var(test_var = "GRADE_F", data_imp = data)

Clinical T Stage

uni_var(test_var = "TNM_CLIN_T", data_imp = data)
_________________________________________________
   
## TNM_CLIN_T
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_T, data = data)

   62 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_CLIN_T=N_A 1319    652   39.9    30.0    61.9
TNM_CLIN_T=c2     1      1   10.4      NA      NA
TNM_CLIN_T=cX     9      6   65.0    18.7      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_T, data = data)

62 observations deleted due to missingness 
                TNM_CLIN_T=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    798     417    0.671  0.0132        0.646        0.697
   24    610     124    0.563  0.0142        0.536        0.592
   36    489      54    0.511  0.0146        0.483        0.541
   48    398      23    0.486  0.0148        0.457        0.515
   60    339       8    0.475  0.0149        0.447        0.505
  120     95      24    0.429  0.0164        0.398        0.462

                TNM_CLIN_T=c2 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                TNM_CLIN_T=cX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      8       1    0.889   0.105        0.706        1.000
   24      6       2    0.667   0.157        0.420        1.000
   36      6       0    0.667   0.157        0.420        1.000
   48      5       1    0.556   0.166        0.310        0.997
   60      5       0    0.556   0.166        0.310        0.997
  120      2       2    0.333   0.157        0.132        0.840




   
## Univariable Cox Proportional Hazard Model for:  TNM_CLIN_T
X matrix deemed to be singular; variable 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 21 22
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_T, data = data)

  n= 1329, number of events= 659 
   (62 observations deleted due to missingness)

                  coef exp(coef) se(coef)     z Pr(>|z|)
TNM_CLIN_Tc0        NA        NA  0.00000    NA       NA
TNM_CLIN_Tc1        NA        NA  0.00000    NA       NA
TNM_CLIN_Tc1A       NA        NA  0.00000    NA       NA
TNM_CLIN_Tc1B       NA        NA  0.00000    NA       NA
TNM_CLIN_Tc1C       NA        NA  0.00000    NA       NA
TNM_CLIN_Tc1MI      NA        NA  0.00000    NA       NA
TNM_CLIN_Tc2   1.01570   2.76129  1.00131 1.014    0.310
TNM_CLIN_Tc2A       NA        NA  0.00000    NA       NA
TNM_CLIN_Tc2B       NA        NA  0.00000    NA       NA
TNM_CLIN_Tc2C       NA        NA  0.00000    NA       NA
TNM_CLIN_Tc2D       NA        NA  0.00000    NA       NA
TNM_CLIN_Tc3        NA        NA  0.00000    NA       NA
TNM_CLIN_Tc3A       NA        NA  0.00000    NA       NA
TNM_CLIN_Tc3B       NA        NA  0.00000    NA       NA
TNM_CLIN_Tc4        NA        NA  0.00000    NA       NA
TNM_CLIN_Tc4A       NA        NA  0.00000    NA       NA
TNM_CLIN_Tc4B       NA        NA  0.00000    NA       NA
TNM_CLIN_Tc4C       NA        NA  0.00000    NA       NA
TNM_CLIN_Tc4D       NA        NA  0.00000    NA       NA
TNM_CLIN_TcX   0.02273   1.02299  0.41025 0.055    0.956
TNM_CLIN_TpA        NA        NA  0.00000    NA       NA
TNM_CLIN_TpIS       NA        NA  0.00000    NA       NA

               exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_Tc0          NA         NA        NA        NA
TNM_CLIN_Tc1          NA         NA        NA        NA
TNM_CLIN_Tc1A         NA         NA        NA        NA
TNM_CLIN_Tc1B         NA         NA        NA        NA
TNM_CLIN_Tc1C         NA         NA        NA        NA
TNM_CLIN_Tc1MI        NA         NA        NA        NA
TNM_CLIN_Tc2       2.761     0.3622    0.3880    19.653
TNM_CLIN_Tc2A         NA         NA        NA        NA
TNM_CLIN_Tc2B         NA         NA        NA        NA
TNM_CLIN_Tc2C         NA         NA        NA        NA
TNM_CLIN_Tc2D         NA         NA        NA        NA
TNM_CLIN_Tc3          NA         NA        NA        NA
TNM_CLIN_Tc3A         NA         NA        NA        NA
TNM_CLIN_Tc3B         NA         NA        NA        NA
TNM_CLIN_Tc4          NA         NA        NA        NA
TNM_CLIN_Tc4A         NA         NA        NA        NA
TNM_CLIN_Tc4B         NA         NA        NA        NA
TNM_CLIN_Tc4C         NA         NA        NA        NA
TNM_CLIN_Tc4D         NA         NA        NA        NA
TNM_CLIN_TcX       1.023     0.9775    0.4578     2.286
TNM_CLIN_TpA          NA         NA        NA        NA
TNM_CLIN_TpIS         NA         NA        NA        NA

Concordance= 0.499  (se = 0.002 )
Rsquare= 0.001   (max possible= 0.999 )
Likelihood ratio test= 0.76  on 2 df,   p=0.6847
Wald test            = 1.03  on 2 df,   p=0.597
Score (logrank) test = 1.12  on 2 df,   p=0.5703
Removed 21 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_CLIN_T

Clinical N Stage

uni_var(test_var = "TNM_CLIN_N", data_imp = data)
_________________________________________________
   
## TNM_CLIN_N
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_N, data = data)

   62 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_CLIN_N=N_A 1319    652   39.9    30.0    61.9
TNM_CLIN_N=c0     1      1   10.4      NA      NA
TNM_CLIN_N=cX     9      6   65.0    18.7      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_N, data = data)

62 observations deleted due to missingness 
                TNM_CLIN_N=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    798     417    0.671  0.0132        0.646        0.697
   24    610     124    0.563  0.0142        0.536        0.592
   36    489      54    0.511  0.0146        0.483        0.541
   48    398      23    0.486  0.0148        0.457        0.515
   60    339       8    0.475  0.0149        0.447        0.505
  120     95      24    0.429  0.0164        0.398        0.462

                TNM_CLIN_N=c0 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                TNM_CLIN_N=cX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      8       1    0.889   0.105        0.706        1.000
   24      6       2    0.667   0.157        0.420        1.000
   36      6       0    0.667   0.157        0.420        1.000
   48      5       1    0.556   0.166        0.310        0.997
   60      5       0    0.556   0.166        0.310        0.997
  120      2       2    0.333   0.157        0.132        0.840




   
## Univariable Cox Proportional Hazard Model for:  TNM_CLIN_N
X matrix deemed to be singular; variable 2 3 4 5 6 7 8 9 10 11 12 13
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_N, data = data)

  n= 1329, number of events= 659 
   (62 observations deleted due to missingness)

                 coef exp(coef) se(coef)     z Pr(>|z|)
TNM_CLIN_Nc0  1.01570   2.76129  1.00131 1.014    0.310
TNM_CLIN_Nc1       NA        NA  0.00000    NA       NA
TNM_CLIN_Nc1A      NA        NA  0.00000    NA       NA
TNM_CLIN_Nc1B      NA        NA  0.00000    NA       NA
TNM_CLIN_Nc2       NA        NA  0.00000    NA       NA
TNM_CLIN_Nc2A      NA        NA  0.00000    NA       NA
TNM_CLIN_Nc2B      NA        NA  0.00000    NA       NA
TNM_CLIN_Nc2C      NA        NA  0.00000    NA       NA
TNM_CLIN_Nc3       NA        NA  0.00000    NA       NA
TNM_CLIN_Nc3A      NA        NA  0.00000    NA       NA
TNM_CLIN_Nc3B      NA        NA  0.00000    NA       NA
TNM_CLIN_Nc3C      NA        NA  0.00000    NA       NA
TNM_CLIN_Nc4       NA        NA  0.00000    NA       NA
TNM_CLIN_NcX  0.02273   1.02299  0.41025 0.055    0.956

              exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_Nc0      2.761     0.3622    0.3880    19.653
TNM_CLIN_Nc1         NA         NA        NA        NA
TNM_CLIN_Nc1A        NA         NA        NA        NA
TNM_CLIN_Nc1B        NA         NA        NA        NA
TNM_CLIN_Nc2         NA         NA        NA        NA
TNM_CLIN_Nc2A        NA         NA        NA        NA
TNM_CLIN_Nc2B        NA         NA        NA        NA
TNM_CLIN_Nc2C        NA         NA        NA        NA
TNM_CLIN_Nc3         NA         NA        NA        NA
TNM_CLIN_Nc3A        NA         NA        NA        NA
TNM_CLIN_Nc3B        NA         NA        NA        NA
TNM_CLIN_Nc3C        NA         NA        NA        NA
TNM_CLIN_Nc4         NA         NA        NA        NA
TNM_CLIN_NcX      1.023     0.9775    0.4578     2.286

Concordance= 0.499  (se = 0.002 )
Rsquare= 0.001   (max possible= 0.999 )
Likelihood ratio test= 0.76  on 2 df,   p=0.6847
Wald test            = 1.03  on 2 df,   p=0.597
Score (logrank) test = 1.12  on 2 df,   p=0.5703
Removed 13 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_CLIN_N

Clinical Stage Group

uni_var(test_var = "TNM_CLIN_STAGE_GROUP", data_imp = data)
_________________________________________________
   
## TNM_CLIN_STAGE_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_STAGE_GROUP, data = data)

                           n events median 0.95LCL 0.95UCL
TNM_CLIN_STAGE_GROUP=1   197     67     NA  106.18      NA
TNM_CLIN_STAGE_GROUP=1A  173     53     NA      NA      NA
TNM_CLIN_STAGE_GROUP=1B   40     14     NA   60.98      NA
TNM_CLIN_STAGE_GROUP=2   108     49  65.45   24.57      NA
TNM_CLIN_STAGE_GROUP=2A   72     26     NA   38.05      NA
TNM_CLIN_STAGE_GROUP=2B   53     30  14.29    7.10      NA
TNM_CLIN_STAGE_GROUP=3    39     20  32.26   10.51      NA
TNM_CLIN_STAGE_GROUP=3A   33     18  28.55   10.74      NA
TNM_CLIN_STAGE_GROUP=3B   24     15  25.03   12.81      NA
TNM_CLIN_STAGE_GROUP=4   202    137  14.78    9.40    19.5
TNM_CLIN_STAGE_GROUP=4A  102     67  14.65   11.17    26.1
TNM_CLIN_STAGE_GROUP=4B  111     78   8.21    6.28    14.0
TNM_CLIN_STAGE_GROUP=N_A   8      3     NA    2.30      NA
TNM_CLIN_STAGE_GROUP=99  229    110  51.29   28.45      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_STAGE_GROUP, data = data)

                TNM_CLIN_STAGE_GROUP=1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    139      42    0.780  0.0300        0.724        0.841
   24    112      12    0.708  0.0337        0.645        0.778
   36     95       4    0.681  0.0350        0.616        0.754
   48     83       4    0.651  0.0365        0.584        0.727
   60     68       3    0.626  0.0380        0.555        0.705
  120     15       2    0.582  0.0462        0.498        0.680

                TNM_CLIN_STAGE_GROUP=1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    135      22    0.866  0.0266        0.815        0.920
   24    106      16    0.759  0.0342        0.695        0.829
   36     79       8    0.697  0.0379        0.626        0.775
   48     62       4    0.659  0.0402        0.585        0.743
   60     47       1    0.648  0.0411        0.573        0.734
  120     17       2    0.618  0.0443        0.537        0.711

                TNM_CLIN_STAGE_GROUP=1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     30       7    0.819  0.0620        0.706        0.950
   24     24       4    0.709  0.0743        0.577        0.870
   36     19       0    0.709  0.0743        0.577        0.870
   48     13       1    0.664  0.0818        0.522        0.846
   60     11       0    0.664  0.0818        0.522        0.846
  120      3       2    0.512  0.1147        0.331        0.795

                TNM_CLIN_STAGE_GROUP=2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     69      28    0.726  0.0443        0.644        0.818
   24     51      12    0.593  0.0501        0.503        0.700
   36     44       4    0.546  0.0514        0.454        0.657
   48     38       0    0.546  0.0514        0.454        0.657
   60     35       0    0.546  0.0514        0.454        0.657
  120      8       5    0.448  0.0599        0.345        0.582

                TNM_CLIN_STAGE_GROUP=2A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     49      14    0.798  0.0483        0.709        0.899
   24     31       9    0.643  0.0607        0.535        0.774
   36     27       1    0.622  0.0623        0.511        0.757
   48     20       2    0.574  0.0661        0.458        0.719
   60     17       0    0.574  0.0661        0.458        0.719
  120      3       0    0.574  0.0661        0.458        0.719

                TNM_CLIN_STAGE_GROUP=2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     23      23    0.526  0.0728        0.401        0.690
   24     17       3    0.456  0.0734        0.333        0.626
   36     12       1    0.428  0.0742        0.305        0.601
   48     10       0    0.428  0.0742        0.305        0.601
   60      9       1    0.385  0.0781        0.259        0.573
  120      2       2    0.241  0.0956        0.110        0.524

                TNM_CLIN_STAGE_GROUP=3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     23      15    0.609  0.0789        0.473        0.785
   24     20       3    0.530  0.0809        0.393        0.715
   36     15       2    0.474  0.0815        0.338        0.664
   48     13       0    0.474  0.0815        0.338        0.664
   60     12       0    0.474  0.0815        0.338        0.664
  120      4       0    0.474  0.0815        0.338        0.664

                TNM_CLIN_STAGE_GROUP=3A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     20      13    0.606  0.0851        0.460        0.798
   24     14       3    0.502  0.0892        0.355        0.712
   36     12       1    0.464  0.0904        0.317        0.679
   48      9       0    0.464  0.0904        0.317        0.679
   60      8       0    0.464  0.0904        0.317        0.679
  120      1       1    0.406  0.0959        0.255        0.645

                TNM_CLIN_STAGE_GROUP=3B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     16       8    0.667  0.0962        0.502        0.885
   24     10       3    0.529  0.1044        0.359        0.779
   36      7       3    0.370  0.1059        0.211        0.649
   48      6       1    0.317  0.1031        0.168        0.600
   60      5       0    0.317  0.1031        0.168        0.600
  120      1       0    0.317  0.1031        0.168        0.600

                TNM_CLIN_STAGE_GROUP=4 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    100      90    0.543  0.0356        0.477        0.617
   24     68      26    0.399  0.0357        0.335        0.476
   36     50      11    0.334  0.0348        0.272        0.410
   48     45       3    0.314  0.0347        0.253        0.390
   60     41       0    0.314  0.0347        0.253        0.390
  120     11       5    0.262  0.0363        0.200        0.344

                TNM_CLIN_STAGE_GROUP=4A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     55      44    0.557  0.0499        0.467        0.664
   24     37      12    0.432  0.0501        0.344        0.542
   36     25       4    0.384  0.0499        0.298        0.496
   48     18       3    0.335  0.0510        0.249        0.452
   60     12       2    0.297  0.0519        0.211        0.418
  120      3       2    0.243  0.0547        0.156        0.378

                TNM_CLIN_STAGE_GROUP=4B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     42      61    0.422  0.0485        0.337        0.529
   24     33       7    0.350  0.0473        0.268        0.456
   36     21       8    0.260  0.0446        0.186        0.364
   48     13       1    0.248  0.0442        0.174        0.351
   60      9       0    0.248  0.0442        0.174        0.351
  120      2       1    0.212  0.0501        0.134        0.337

                TNM_CLIN_STAGE_GROUP=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       3    0.571   0.187        0.301            1
   24      3       0    0.571   0.187        0.301            1
   36      3       0    0.571   0.187        0.301            1
   48      1       0    0.571   0.187        0.301            1

                TNM_CLIN_STAGE_GROUP=99 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    139      70    0.681  0.0316        0.622        0.745
   24    117      18    0.591  0.0338        0.528        0.661
   36     98      10    0.539  0.0345        0.476        0.611
   48     80       6    0.503  0.0353        0.438        0.577
   60     74       1    0.496  0.0354        0.432        0.571
  120     27       5    0.452  0.0377        0.384        0.533




   
## Univariable Cox Proportional Hazard Model for:  TNM_CLIN_STAGE_GROUP
X matrix deemed to be singular; variable 4 8 12 15 16 18 20
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_STAGE_GROUP, data = data)

  n= 1391, number of events= 687 

                            coef exp(coef) se(coef)      z Pr(>|z|)    
TNM_CLIN_STAGE_GROUP1   -0.43577   0.64677  0.15500 -2.811 0.004932 ** 
TNM_CLIN_STAGE_GROUP1A  -0.58317   0.55813  0.16725 -3.487 0.000489 ***
TNM_CLIN_STAGE_GROUP1B  -0.37584   0.68671  0.28380 -1.324 0.185387    
TNM_CLIN_STAGE_GROUP1C        NA        NA  0.00000     NA       NA    
TNM_CLIN_STAGE_GROUP2   -0.07040   0.93202  0.17178 -0.410 0.681947    
TNM_CLIN_STAGE_GROUP2A  -0.31030   0.73323  0.21814 -1.422 0.154893    
TNM_CLIN_STAGE_GROUP2B   0.42789   1.53401  0.20618  2.075 0.037955 *  
TNM_CLIN_STAGE_GROUP2C        NA        NA  0.00000     NA       NA    
TNM_CLIN_STAGE_GROUP3    0.09095   1.09522  0.24313  0.374 0.708332    
TNM_CLIN_STAGE_GROUP3A   0.14808   1.15961  0.25431  0.582 0.560362    
TNM_CLIN_STAGE_GROUP3B   0.31623   1.37195  0.27537  1.148 0.250806    
TNM_CLIN_STAGE_GROUP3C        NA        NA  0.00000     NA       NA    
TNM_CLIN_STAGE_GROUP4    0.56253   1.75511  0.12821  4.388 1.15e-05 ***
TNM_CLIN_STAGE_GROUP4A   0.49337   1.63782  0.15532  3.176 0.001491 ** 
TNM_CLIN_STAGE_GROUP4A1       NA        NA  0.00000     NA       NA    
TNM_CLIN_STAGE_GROUP4A2       NA        NA  0.00000     NA       NA    
TNM_CLIN_STAGE_GROUP4B   0.76250   2.14363  0.14855  5.133 2.85e-07 ***
TNM_CLIN_STAGE_GROUP4C        NA        NA  0.00000     NA       NA    
TNM_CLIN_STAGE_GROUPN_A  0.12149   1.12917  0.58533  0.208 0.835580    
TNM_CLIN_STAGE_GROUP99        NA        NA  0.00000     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                        exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_STAGE_GROUP1      0.6468     1.5461    0.4773    0.8764
TNM_CLIN_STAGE_GROUP1A     0.5581     1.7917    0.4021    0.7746
TNM_CLIN_STAGE_GROUP1B     0.6867     1.4562    0.3937    1.1977
TNM_CLIN_STAGE_GROUP1C         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP2      0.9320     1.0729    0.6656    1.3051
TNM_CLIN_STAGE_GROUP2A     0.7332     1.3638    0.4781    1.1244
TNM_CLIN_STAGE_GROUP2B     1.5340     0.6519    1.0241    2.2979
TNM_CLIN_STAGE_GROUP2C         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP3      1.0952     0.9131    0.6801    1.7638
TNM_CLIN_STAGE_GROUP3A     1.1596     0.8624    0.7044    1.9089
TNM_CLIN_STAGE_GROUP3B     1.3719     0.7289    0.7997    2.3536
TNM_CLIN_STAGE_GROUP3C         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP4      1.7551     0.5698    1.3651    2.2565
TNM_CLIN_STAGE_GROUP4A     1.6378     0.6106    1.2080    2.2206
TNM_CLIN_STAGE_GROUP4A1        NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP4A2        NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP4B     2.1436     0.4665    1.6022    2.8681
TNM_CLIN_STAGE_GROUP4C         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUPN_A    1.1292     0.8856    0.3585    3.5563
TNM_CLIN_STAGE_GROUP99         NA         NA        NA        NA

Concordance= 0.629  (se = 0.011 )
Rsquare= 0.089   (max possible= 0.999 )
Likelihood ratio test= 130.2  on 13 df,   p=0
Wald test            = 127.6  on 13 df,   p=0
Score (logrank) test = 137.2  on 13 df,   p=0
Removed 8 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_CLIN_STAGE_GROUP
This manual palette can handle a maximum of 10 values. You have supplied 14.

Pathologic T Stage

uni_var(test_var = "TNM_PATH_T", data_imp = data)
_________________________________________________
   
## TNM_PATH_T
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_T, data = data)

   90 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_PATH_T=N_A 1291    635   41.6    31.0    63.8
TNM_PATH_T=p2     1      1   10.4      NA      NA
TNM_PATH_T=pX     9      6   65.0    18.7      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_T, data = data)

90 observations deleted due to missingness 
                TNM_PATH_T=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    787     403    0.675  0.0133        0.650        0.702
   24    602     122    0.567  0.0144        0.539        0.596
   36    482      54    0.514  0.0147        0.486        0.544
   48    394      22    0.489  0.0149        0.461        0.519
   60    336       8    0.479  0.0151        0.450        0.509
  120     95      24    0.431  0.0166        0.400        0.465

                TNM_PATH_T=p2 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                TNM_PATH_T=pX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      8       1    0.889   0.105        0.706        1.000
   24      6       2    0.667   0.157        0.420        1.000
   36      6       0    0.667   0.157        0.420        1.000
   48      5       1    0.556   0.166        0.310        0.997
   60      5       0    0.556   0.166        0.310        0.997
  120      2       2    0.333   0.157        0.132        0.840




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_T
X matrix deemed to be singular; variable 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_T, data = data)

  n= 1301, number of events= 642 
   (90 observations deleted due to missingness)

                  coef exp(coef) se(coef)     z Pr(>|z|)
TNM_PATH_Tp0        NA        NA  0.00000    NA       NA
TNM_PATH_Tp1        NA        NA  0.00000    NA       NA
TNM_PATH_Tp1A       NA        NA  0.00000    NA       NA
TNM_PATH_Tp1B       NA        NA  0.00000    NA       NA
TNM_PATH_Tp1C       NA        NA  0.00000    NA       NA
TNM_PATH_Tp1MI      NA        NA  0.00000    NA       NA
TNM_PATH_Tp2   1.03087   2.80350  1.00135 1.029    0.303
TNM_PATH_Tp2A       NA        NA  0.00000    NA       NA
TNM_PATH_Tp2B       NA        NA  0.00000    NA       NA
TNM_PATH_Tp2C       NA        NA  0.00000    NA       NA
TNM_PATH_Tp2D       NA        NA  0.00000    NA       NA
TNM_PATH_Tp3        NA        NA  0.00000    NA       NA
TNM_PATH_Tp3A       NA        NA  0.00000    NA       NA
TNM_PATH_Tp3B       NA        NA  0.00000    NA       NA
TNM_PATH_Tp4        NA        NA  0.00000    NA       NA
TNM_PATH_Tp4A       NA        NA  0.00000    NA       NA
TNM_PATH_Tp4B       NA        NA  0.00000    NA       NA
TNM_PATH_Tp4C       NA        NA  0.00000    NA       NA
TNM_PATH_Tp4D       NA        NA  0.00000    NA       NA
TNM_PATH_TpA        NA        NA  0.00000    NA       NA
TNM_PATH_TpIS       NA        NA  0.00000    NA       NA
TNM_PATH_TpX   0.03156   1.03207  0.41030 0.077    0.939

               exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Tp0          NA         NA        NA        NA
TNM_PATH_Tp1          NA         NA        NA        NA
TNM_PATH_Tp1A         NA         NA        NA        NA
TNM_PATH_Tp1B         NA         NA        NA        NA
TNM_PATH_Tp1C         NA         NA        NA        NA
TNM_PATH_Tp1MI        NA         NA        NA        NA
TNM_PATH_Tp2       2.803     0.3567    0.3939    19.955
TNM_PATH_Tp2A         NA         NA        NA        NA
TNM_PATH_Tp2B         NA         NA        NA        NA
TNM_PATH_Tp2C         NA         NA        NA        NA
TNM_PATH_Tp2D         NA         NA        NA        NA
TNM_PATH_Tp3          NA         NA        NA        NA
TNM_PATH_Tp3A         NA         NA        NA        NA
TNM_PATH_Tp3B         NA         NA        NA        NA
TNM_PATH_Tp4          NA         NA        NA        NA
TNM_PATH_Tp4A         NA         NA        NA        NA
TNM_PATH_Tp4B         NA         NA        NA        NA
TNM_PATH_Tp4C         NA         NA        NA        NA
TNM_PATH_Tp4D         NA         NA        NA        NA
TNM_PATH_TpA          NA         NA        NA        NA
TNM_PATH_TpIS         NA         NA        NA        NA
TNM_PATH_TpX       1.032     0.9689    0.4618     2.307

Concordance= 0.499  (se = 0.002 )
Rsquare= 0.001   (max possible= 0.999 )
Likelihood ratio test= 0.78  on 2 df,   p=0.6772
Wald test            = 1.07  on 2 df,   p=0.5871
Score (logrank) test = 1.16  on 2 df,   p=0.5592
Removed 21 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_T

Pathologic N Stage

uni_var(test_var = "TNM_PATH_N", data_imp = data)
_________________________________________________
   
## TNM_PATH_N
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_N, data = data)

   91 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_PATH_N=N_A 1290    635   41.6    30.2    63.8
TNM_PATH_N=pX    10      7   53.2    14.7      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_N, data = data)

91 observations deleted due to missingness 
                TNM_PATH_N=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    786     403    0.675  0.0133        0.649        0.702
   24    601     122    0.566  0.0144        0.539        0.595
   36    481      54    0.513  0.0147        0.485        0.543
   48    394      22    0.489  0.0149        0.460        0.519
   60    336       8    0.478  0.0151        0.449        0.509
  120     95      24    0.431  0.0166        0.400        0.465

                TNM_PATH_N=pX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      8       2      0.8   0.126        0.587        1.000
   24      6       2      0.6   0.155        0.362        0.995
   36      6       0      0.6   0.155        0.362        0.995
   48      5       1      0.5   0.158        0.269        0.929
   60      5       0      0.5   0.158        0.269        0.929
  120      2       2      0.3   0.145        0.116        0.773




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_N
X matrix deemed to be singular; variable 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_N, data = data)

  n= 1300, number of events= 642 
   (91 observations deleted due to missingness)

                 coef exp(coef) se(coef)     z Pr(>|z|)
TNM_PATH_Np0       NA        NA   0.0000    NA       NA
TNM_PATH_Np0I-     NA        NA   0.0000    NA       NA
TNM_PATH_Np0I+     NA        NA   0.0000    NA       NA
TNM_PATH_Np0M-     NA        NA   0.0000    NA       NA
TNM_PATH_Np0M+     NA        NA   0.0000    NA       NA
TNM_PATH_Np1       NA        NA   0.0000    NA       NA
TNM_PATH_Np1A      NA        NA   0.0000    NA       NA
TNM_PATH_Np1B      NA        NA   0.0000    NA       NA
TNM_PATH_Np1C      NA        NA   0.0000    NA       NA
TNM_PATH_Np1MI     NA        NA   0.0000    NA       NA
TNM_PATH_Np2       NA        NA   0.0000    NA       NA
TNM_PATH_Np2A      NA        NA   0.0000    NA       NA
TNM_PATH_Np2B      NA        NA   0.0000    NA       NA
TNM_PATH_Np2C      NA        NA   0.0000    NA       NA
TNM_PATH_Np3       NA        NA   0.0000    NA       NA
TNM_PATH_Np3A      NA        NA   0.0000    NA       NA
TNM_PATH_Np3B      NA        NA   0.0000    NA       NA
TNM_PATH_Np3C      NA        NA   0.0000    NA       NA
TNM_PATH_Np4       NA        NA   0.0000    NA       NA
TNM_PATH_NpX   0.1252    1.1334   0.3801 0.329    0.742

               exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Np0          NA         NA        NA        NA
TNM_PATH_Np0I-        NA         NA        NA        NA
TNM_PATH_Np0I+        NA         NA        NA        NA
TNM_PATH_Np0M-        NA         NA        NA        NA
TNM_PATH_Np0M+        NA         NA        NA        NA
TNM_PATH_Np1          NA         NA        NA        NA
TNM_PATH_Np1A         NA         NA        NA        NA
TNM_PATH_Np1B         NA         NA        NA        NA
TNM_PATH_Np1C         NA         NA        NA        NA
TNM_PATH_Np1MI        NA         NA        NA        NA
TNM_PATH_Np2          NA         NA        NA        NA
TNM_PATH_Np2A         NA         NA        NA        NA
TNM_PATH_Np2B         NA         NA        NA        NA
TNM_PATH_Np2C         NA         NA        NA        NA
TNM_PATH_Np3          NA         NA        NA        NA
TNM_PATH_Np3A         NA         NA        NA        NA
TNM_PATH_Np3B         NA         NA        NA        NA
TNM_PATH_Np3C         NA         NA        NA        NA
TNM_PATH_Np4          NA         NA        NA        NA
TNM_PATH_NpX       1.133     0.8823     0.538     2.388

Concordance= 0.499  (se = 0.002 )
Rsquare= 0   (max possible= 0.999 )
Likelihood ratio test= 0.1  on 1 df,   p=0.7468
Wald test            = 0.11  on 1 df,   p=0.7418
Score (logrank) test = 0.11  on 1 df,   p=0.7416
Removed 20 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_N

Pathologic M Stage

uni_var(test_var = "TNM_PATH_M", data_imp = data)
_________________________________________________
   
## TNM_PATH_M
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_M, data = data)

   134 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_PATH_M=N_A 1247    615   39.9    30.0    64.3
TNM_PATH_M=pX    10      7   53.2    14.7      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_M, data = data)

134 observations deleted due to missingness 
                TNM_PATH_M=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    757     393    0.672  0.0136        0.646        0.699
   24    583     116    0.565  0.0146        0.537        0.595
   36    471      53    0.512  0.0150        0.484        0.542
   48    389      20    0.489  0.0152        0.460        0.520
   60    334       7    0.480  0.0153        0.451        0.511
  120     95      24    0.433  0.0168        0.401        0.467

                TNM_PATH_M=pX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      8       2      0.8   0.126        0.587        1.000
   24      6       2      0.6   0.155        0.362        0.995
   36      6       0      0.6   0.155        0.362        0.995
   48      5       1      0.5   0.158        0.269        0.929
   60      5       0      0.5   0.158        0.269        0.929
  120      2       2      0.3   0.145        0.116        0.773




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_M
X matrix deemed to be singular; variable 1 2 3 4 5
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_M, data = data)

  n= 1257, number of events= 622 
   (134 observations deleted due to missingness)

                coef exp(coef) se(coef)     z Pr(>|z|)
TNM_PATH_Mp0      NA        NA   0.0000    NA       NA
TNM_PATH_Mp1      NA        NA   0.0000    NA       NA
TNM_PATH_Mp1A     NA        NA   0.0000    NA       NA
TNM_PATH_Mp1B     NA        NA   0.0000    NA       NA
TNM_PATH_Mp1C     NA        NA   0.0000    NA       NA
TNM_PATH_MpX  0.1277    1.1362   0.3802 0.336    0.737

              exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Mp0         NA         NA        NA        NA
TNM_PATH_Mp1         NA         NA        NA        NA
TNM_PATH_Mp1A        NA         NA        NA        NA
TNM_PATH_Mp1B        NA         NA        NA        NA
TNM_PATH_Mp1C        NA         NA        NA        NA
TNM_PATH_MpX      1.136     0.8802    0.5393     2.394

Concordance= 0.499  (se = 0.002 )
Rsquare= 0   (max possible= 0.999 )
Likelihood ratio test= 0.11  on 1 df,   p=0.7422
Wald test            = 0.11  on 1 df,   p=0.7371
Score (logrank) test = 0.11  on 1 df,   p=0.7369
Removed 6 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_M

Pathologic Stage Group

uni_var(test_var = "TNM_PATH_STAGE_GROUP", data_imp = data)
_________________________________________________
   
## TNM_PATH_STAGE_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_STAGE_GROUP, data = data)

   112 observations deleted due to missingness 
                           n events median 0.95LCL 0.95UCL
TNM_PATH_STAGE_GROUP=1    86     36     NA   34.10      NA
TNM_PATH_STAGE_GROUP=1A   48     15     NA  102.28      NA
TNM_PATH_STAGE_GROUP=1B   15      6     NA   18.10      NA
TNM_PATH_STAGE_GROUP=2    41     20   73.8   23.56      NA
TNM_PATH_STAGE_GROUP=2A   20      8     NA   13.17      NA
TNM_PATH_STAGE_GROUP=2B   14      9   86.1    5.26      NA
TNM_PATH_STAGE_GROUP=3    16      7     NA    7.52      NA
TNM_PATH_STAGE_GROUP=3A    6      2     NA   10.05      NA
TNM_PATH_STAGE_GROUP=3B    5      2     NA   25.03      NA
TNM_PATH_STAGE_GROUP=4    88     60   15.4    8.11    24.2
TNM_PATH_STAGE_GROUP=4A   33     22   26.1   11.89    65.0
TNM_PATH_STAGE_GROUP=4B   41     28    4.7    4.11    27.7
TNM_PATH_STAGE_GROUP=N_A   8      3     NA    2.30      NA
TNM_PATH_STAGE_GROUP=99  858    421   38.1   28.25    64.3

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_STAGE_GROUP, data = data)

112 observations deleted due to missingness 
                TNM_PATH_STAGE_GROUP=1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     56      25    0.704  0.0497        0.613        0.809
   24     47       5    0.639  0.0531        0.543        0.752
   36     37       3    0.595  0.0551        0.497        0.714
   48     34       1    0.579  0.0559        0.479        0.700
   60     27       1    0.559  0.0576        0.456        0.684
  120      5       1    0.516  0.0673        0.399        0.666

                TNM_PATH_STAGE_GROUP=1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     40       5    0.893  0.0453        0.809        0.986
   24     35       3    0.822  0.0571        0.718        0.942
   36     31       2    0.773  0.0634        0.659        0.908
   48     24       2    0.721  0.0691        0.597        0.870
   60     20       1    0.691  0.0725        0.562        0.849
  120      8       2    0.602  0.0866        0.454        0.798

                TNM_PATH_STAGE_GROUP=1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     13       2    0.867  0.0878        0.711        1.000
   24     10       3    0.667  0.1217        0.466        0.953
   36      9       0    0.667  0.1217        0.466        0.953
   48      7       1    0.593  0.1288        0.387        0.907
   60      6       0    0.593  0.1288        0.387        0.907
  120      2       0    0.593  0.1288        0.387        0.907

                TNM_PATH_STAGE_GROUP=2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     28      11    0.725  0.0709        0.598        0.878
   24     24       4    0.621  0.0774        0.486        0.793
   36     22       2    0.569  0.0791        0.434        0.747
   48     18       1    0.542  0.0798        0.406        0.724
   60     16       0    0.542  0.0798        0.406        0.724
  120      5       2    0.466  0.0852        0.326        0.667

                TNM_PATH_STAGE_GROUP=2A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     14       4    0.791  0.0935        0.627        0.997
   24      7       3    0.608  0.1171        0.417        0.887
   36      6       1    0.521  0.1286        0.321        0.845
   48      5       0    0.521  0.1286        0.321        0.845
   60      5       0    0.521  0.1286        0.321        0.845

                TNM_PATH_STAGE_GROUP=2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      8       6    0.571   0.132       0.3630        0.899
   24      8       0    0.571   0.132       0.3630        0.899
   36      8       0    0.571   0.132       0.3630        0.899
   48      7       0    0.571   0.132       0.3630        0.899
   60      7       0    0.571   0.132       0.3630        0.899
  120      1       3    0.152   0.134       0.0273        0.851

                TNM_PATH_STAGE_GROUP=3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     10       5    0.677   0.119        0.479        0.957
   24      9       1    0.609   0.125        0.407        0.911
   36      7       0    0.609   0.125        0.407        0.911
   48      6       1    0.522   0.134        0.316        0.864
   60      5       0    0.522   0.134        0.316        0.864

                TNM_PATH_STAGE_GROUP=3A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       2    0.556   0.248        0.231            1
   24      2       0    0.556   0.248        0.231            1
   36      2       0    0.556   0.248        0.231            1
   48      1       0    0.556   0.248        0.231            1
   60      1       0    0.556   0.248        0.231            1

                TNM_PATH_STAGE_GROUP=3B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      4       1    0.800   0.179        0.516            1
   24      3       0    0.800   0.179        0.516            1
   36      2       1    0.533   0.248        0.214            1
   48      2       0    0.533   0.248        0.214            1
   60      2       0    0.533   0.248        0.214            1
  120      1       0    0.533   0.248        0.214            1

                TNM_PATH_STAGE_GROUP=4 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     40      40    0.525  0.0548        0.428        0.644
   24     27      10    0.388  0.0551        0.294        0.512
   36     22       4    0.331  0.0539        0.240        0.455
   48     20       1    0.316  0.0535        0.226        0.440
   60     19       0    0.316  0.0535        0.226        0.440
  120      5       4    0.225  0.0555        0.139        0.365

                TNM_PATH_STAGE_GROUP=4A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     20      13    0.594  0.0868        0.446        0.791
   24     19       0    0.594  0.0868        0.446        0.791
   36     13       4    0.469  0.0882        0.325        0.678
   48     10       1    0.430  0.0891        0.287        0.646
   60      7       2    0.344  0.0897        0.206        0.573
  120      3       2    0.246  0.0869        0.123        0.492

                TNM_PATH_STAGE_GROUP=4B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     13      25    0.365  0.0778        0.240        0.554
   24     11       1    0.334  0.0770        0.213        0.525
   36      6       2    0.274  0.0741        0.161        0.465
   48      3       0    0.274  0.0741        0.161        0.465
   60      2       0    0.274  0.0741        0.161        0.465
  120      1       0    0.274  0.0741        0.161        0.465

                TNM_PATH_STAGE_GROUP=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       3    0.571   0.187        0.301            1
   24      3       0    0.571   0.187        0.301            1
   36      3       0    0.571   0.187        0.301            1
   48      1       0    0.571   0.187        0.301            1

                TNM_PATH_STAGE_GROUP=99 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    529     262    0.682  0.0163        0.650        0.714
   24    396      89    0.563  0.0177        0.530        0.599
   36    312      37    0.508  0.0181        0.474        0.545
   48    258      15    0.482  0.0184        0.448        0.520
   60    223       4    0.474  0.0185        0.439        0.512
  120     66      13    0.439  0.0197        0.402        0.480




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_STAGE_GROUP
X matrix deemed to be singular; variable 4 8 12 15 17 19
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_STAGE_GROUP, data = data)

  n= 1279, number of events= 639 
   (112 observations deleted due to missingness)

                           coef exp(coef) se(coef)      z Pr(>|z|)    
TNM_PATH_STAGE_GROUP1   -0.2295    0.7949   0.1737 -1.322 0.186334    
TNM_PATH_STAGE_GROUP1A  -0.7493    0.4727   0.2629 -2.851 0.004364 ** 
TNM_PATH_STAGE_GROUP1B  -0.4457    0.6404   0.4112 -1.084 0.278426    
TNM_PATH_STAGE_GROUP1C       NA        NA   0.0000     NA       NA    
TNM_PATH_STAGE_GROUP2   -0.1498    0.8609   0.2289 -0.654 0.512957    
TNM_PATH_STAGE_GROUP2A  -0.2629    0.7689   0.3569 -0.736 0.461482    
TNM_PATH_STAGE_GROUP2B   0.1981    1.2191   0.3370  0.588 0.556607    
TNM_PATH_STAGE_GROUP2C       NA        NA   0.0000     NA       NA    
TNM_PATH_STAGE_GROUP3   -0.1585    0.8534   0.3811 -0.416 0.677525    
TNM_PATH_STAGE_GROUP3A  -0.1728    0.8413   0.7089 -0.244 0.807380    
TNM_PATH_STAGE_GROUP3B  -0.4473    0.6393   0.7088 -0.631 0.528003    
TNM_PATH_STAGE_GROUP3C       NA        NA   0.0000     NA       NA    
TNM_PATH_STAGE_GROUP4    0.5209    1.6835   0.1381  3.771 0.000163 ***
TNM_PATH_STAGE_GROUP4A   0.2502    1.2842   0.2187  1.144 0.252719    
TNM_PATH_STAGE_GROUP4A1      NA        NA   0.0000     NA       NA    
TNM_PATH_STAGE_GROUP4B   0.7998    2.2252   0.1956  4.089 4.34e-05 ***
TNM_PATH_STAGE_GROUP4C       NA        NA   0.0000     NA       NA    
TNM_PATH_STAGE_GROUPN_A  0.0608    1.0627   0.5795  0.105 0.916445    
TNM_PATH_STAGE_GROUP99       NA        NA   0.0000     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                        exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_STAGE_GROUP1      0.7949     1.2580    0.5656    1.1173
TNM_PATH_STAGE_GROUP1A     0.4727     2.1155    0.2824    0.7913
TNM_PATH_STAGE_GROUP1B     0.6404     1.5615    0.2860    1.4337
TNM_PATH_STAGE_GROUP1C         NA         NA        NA        NA
TNM_PATH_STAGE_GROUP2      0.8609     1.1616    0.5497    1.3484
TNM_PATH_STAGE_GROUP2A     0.7688     1.3006    0.3819    1.5477
TNM_PATH_STAGE_GROUP2B     1.2191     0.8203    0.6298    2.3599
TNM_PATH_STAGE_GROUP2C         NA         NA        NA        NA
TNM_PATH_STAGE_GROUP3      0.8534     1.1717    0.4043    1.8013
TNM_PATH_STAGE_GROUP3A     0.8413     1.1887    0.2097    3.3754
TNM_PATH_STAGE_GROUP3B     0.6393     1.5641    0.1594    2.5650
TNM_PATH_STAGE_GROUP3C         NA         NA        NA        NA
TNM_PATH_STAGE_GROUP4      1.6835     0.5940    1.2842    2.2069
TNM_PATH_STAGE_GROUP4A     1.2842     0.7787    0.8365    1.9716
TNM_PATH_STAGE_GROUP4A1        NA         NA        NA        NA
TNM_PATH_STAGE_GROUP4B     2.2252     0.4494    1.5165    3.2649
TNM_PATH_STAGE_GROUP4C         NA         NA        NA        NA
TNM_PATH_STAGE_GROUPN_A    1.0627     0.9410    0.3413    3.3090
TNM_PATH_STAGE_GROUP99         NA         NA        NA        NA

Concordance= 0.56  (se = 0.01 )
Rsquare= 0.035   (max possible= 0.999 )
Likelihood ratio test= 45.21  on 13 df,   p=1.928e-05
Wald test            = 47.22  on 13 df,   p=8.862e-06
Score (logrank) test = 49.7  on 13 df,   p=3.353e-06
Removed 7 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_STAGE_GROUP
This manual palette can handle a maximum of 10 values. You have supplied 14.

Margins

uni_var(test_var = "MARGINS", data_imp = data)
_________________________________________________
   
## MARGINS
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ MARGINS, data = data)

                            n events median 0.95LCL 0.95UCL
MARGINS=No Residual        24      8     NA    44.7      NA
MARGINS=Residual, NOS      10      2     NA      NA      NA
MARGINS=Macroscopic Resid   8      1     NA      NA      NA
MARGINS=Not evaluable      34     10     NA      NA      NA
MARGINS=No surg           940    497   27.9    22.5    42.5
MARGINS=Unknown           375    169   60.9    35.3      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ MARGINS, data = data)

                MARGINS=No Residual 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     17       7    0.708  0.0928        0.548        0.916
   24     16       0    0.708  0.0928        0.548        0.916
   36     13       0    0.708  0.0928        0.548        0.916
   48      8       1    0.644  0.1043        0.469        0.885
   60      6       0    0.644  0.1043        0.469        0.885
  120      1       0    0.644  0.1043        0.469        0.885

                MARGINS=Residual, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      7       2    0.787   0.134        0.564            1
   24      5       0    0.787   0.134        0.564            1
   36      5       0    0.787   0.134        0.564            1
   48      3       0    0.787   0.134        0.564            1
   60      3       0    0.787   0.134        0.564            1

                MARGINS=Macroscopic Resid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      6       1    0.857   0.132        0.633            1
   24      6       0    0.857   0.132        0.633            1
   36      4       0    0.857   0.132        0.633            1
   48      3       0    0.857   0.132        0.633            1
   60      3       0    0.857   0.132        0.633            1
  120      1       0    0.857   0.132        0.633            1

                MARGINS=Not evaluable 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     24       7    0.790  0.0707        0.663        0.941
   24     22       0    0.790  0.0707        0.663        0.941
   36     18       1    0.752  0.0767        0.616        0.919
   48     13       2    0.669  0.0881        0.517        0.866
   60     11       0    0.669  0.0881        0.517        0.866
  120      4       0    0.669  0.0881        0.517        0.866

                MARGINS=No surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    540     328    0.638  0.0160        0.607        0.670
   24    399      92    0.525  0.0170        0.493        0.559
   36    322      33    0.479  0.0173        0.447        0.514
   48    268      14    0.457  0.0175        0.424        0.493
   60    233       5    0.448  0.0176        0.415        0.484
  120     74      24    0.388  0.0192        0.352        0.428

                MARGINS=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    249      95    0.736  0.0233        0.691        0.783
   24    195      36    0.626  0.0260        0.577        0.679
   36    145      23    0.549  0.0274        0.498        0.606
   48    116       8    0.517  0.0280        0.465        0.575
   60     92       3    0.503  0.0284        0.451        0.562
  120     17       3    0.480  0.0306        0.423        0.544




   
## Univariable Cox Proportional Hazard Model for:  MARGINS
X matrix deemed to be singular; variable 2
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ MARGINS, data = data)

  n= 1391, number of events= 687 

                            coef exp(coef) se(coef)      z Pr(>|z|)  
MARGINSResidual, NOS     -0.5108    0.6000   0.7906 -0.646   0.5182  
MARGINSMicroscopic Resid      NA        NA   0.0000     NA       NA  
MARGINSMacroscopic Resid -1.0705    0.3428   1.0607 -1.009   0.3128  
MARGINSNot evaluable     -0.1005    0.9044   0.4744 -0.212   0.8322  
MARGINSNo surg            0.6514    1.9182   0.3564  1.827   0.0676 .
MARGINSUnknown            0.4135    1.5122   0.3618  1.143   0.2531  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                         exp(coef) exp(-coef) lower .95 upper .95
MARGINSResidual, NOS        0.6000     1.6666   0.12741     2.826
MARGINSMicroscopic Resid        NA         NA        NA        NA
MARGINSMacroscopic Resid    0.3428     2.9169   0.04288     2.741
MARGINSNot evaluable        0.9044     1.1058   0.35692     2.291
MARGINSNo surg              1.9182     0.5213   0.95388     3.857
MARGINSUnknown              1.5122     0.6613   0.74403     3.073

Concordance= 0.54  (se = 0.01 )
Rsquare= 0.018   (max possible= 0.999 )
Likelihood ratio test= 24.63  on 5 df,   p=0.0001639
Wald test            = 19.53  on 5 df,   p=0.001533
Score (logrank) test = 20.82  on 5 df,   p=0.0008774
Removed 2 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  MARGINS

Margins Yes/No

#uni_var(test_var = "MARGINS_YN", data_imp = data)

30 Day Readmission

uni_var(test_var = "READM_HOSP_30_DAYS_F", data_imp = data)
_________________________________________________
   
## READM_HOSP_30_DAYS_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ READM_HOSP_30_DAYS_F, data = data)

                                              n events median 0.95LCL 0.95UCL
READM_HOSP_30_DAYS_F=No_Surg_or_No_Readmit 1331    656  40.41   30.16    63.2
READM_HOSP_30_DAYS_F=Unplan_Readmit_Same     13     11   5.65    3.65      NA
READM_HOSP_30_DAYS_F=Plan_Readmit_Same       10      5  44.71   18.50      NA
READM_HOSP_30_DAYS_F=PlanUnplan_Same          1      0     NA      NA      NA
READM_HOSP_30_DAYS_F=9                       36     15     NA   16.89      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ READM_HOSP_30_DAYS_F, data = data)

                READM_HOSP_30_DAYS_F=No_Surg_or_No_Readmit 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    808     420    0.672  0.0132        0.647        0.699
   24    613     123    0.566  0.0141        0.539        0.594
   36    483      54    0.514  0.0145        0.486        0.543
   48    390      23    0.488  0.0148        0.460        0.518
   60    330       7    0.479  0.0149        0.450        0.509
  120     92      27    0.425  0.0167        0.394        0.459

                READM_HOSP_30_DAYS_F=Unplan_Readmit_Same 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      4       9    0.308   0.128       0.1361        0.695
   24      3       1    0.231   0.117       0.0855        0.623
   36      2       1    0.154   0.100       0.0430        0.550
   48      2       0    0.154   0.100       0.0430        0.550
   60      2       0    0.154   0.100       0.0430        0.550
  120      1       0    0.154   0.100       0.0430        0.550

                READM_HOSP_30_DAYS_F=Plan_Readmit_Same 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      8       1    0.900  0.0949        0.732        1.000
   24      6       2    0.675  0.1551        0.430        1.000
   36      6       0    0.675  0.1551        0.430        1.000
   48      3       2    0.422  0.1737        0.188        0.945
   60      3       0    0.422  0.1737        0.188        0.945
  120      1       0    0.422  0.1737        0.188        0.945

                READM_HOSP_30_DAYS_F=PlanUnplan_Same 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1

                READM_HOSP_30_DAYS_F=9 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     22      10    0.691  0.0814        0.549        0.871
   24     20       2    0.628  0.0852        0.482        0.820
   36     16       2    0.564  0.0879        0.415        0.765
   48     16       0    0.564  0.0879        0.415        0.765
   60     13       1    0.528  0.0892        0.380        0.736
  120      3       0    0.528  0.0892        0.380        0.736




   
## Univariable Cox Proportional Hazard Model for:  READM_HOSP_30_DAYS_F
Loglik converged before variable  3 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ READM_HOSP_30_DAYS_F, data = data)

  n= 1391, number of events= 687 

                                              coef  exp(coef)   se(coef)      z Pr(>|z|)   
READM_HOSP_30_DAYS_FUnplan_Readmit_Same  9.532e-01  2.594e+00  3.043e-01  3.133  0.00173 **
READM_HOSP_30_DAYS_FPlan_Readmit_Same   -1.850e-01  8.311e-01  4.489e-01 -0.412  0.68028   
READM_HOSP_30_DAYS_FPlanUnplan_Same     -1.302e+01  2.225e-06  8.265e+02 -0.016  0.98744   
READM_HOSP_30_DAYS_F9                   -2.142e-01  8.072e-01  2.612e-01 -0.820  0.41214   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                        exp(coef) exp(-coef) lower .95 upper .95
READM_HOSP_30_DAYS_FUnplan_Readmit_Same 2.594e+00  3.855e-01    1.4288     4.710
READM_HOSP_30_DAYS_FPlan_Readmit_Same   8.311e-01  1.203e+00    0.3448     2.004
READM_HOSP_30_DAYS_FPlanUnplan_Same     2.225e-06  4.495e+05    0.0000       Inf
READM_HOSP_30_DAYS_F9                   8.072e-01  1.239e+00    0.4837     1.347

Concordance= 0.509  (se = 0.004 )
Rsquare= 0.007   (max possible= 0.999 )
Likelihood ratio test= 9.68  on 4 df,   p=0.04624
Wald test            = 10.78  on 4 df,   p=0.0292
Score (logrank) test = 12.24  on 4 df,   p=0.01563
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 5 rows containing missing values (geom_text).Removed 5 rows containing missing values (geom_text).Removed 5 rows containing missing values (geom_text).Removed 5 rows containing missing values (geom_text).Removed 5 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  READM_HOSP_30_DAYS_F

Radiation Type

uni_var(test_var = "RX_SUMM_RADIATION_F", data_imp = data)
_________________________________________________
   
## RX_SUMM_RADIATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_SUMM_RADIATION_F, data = data)

                                     n events median 0.95LCL 0.95UCL
RX_SUMM_RADIATION_F=None           816    467  24.18   19.32    28.4
RX_SUMM_RADIATION_F=Beam Radiation 563    216     NA      NA      NA
RX_SUMM_RADIATION_F=Radiation, NOS   3      1   9.89    9.89      NA
RX_SUMM_RADIATION_F=Unknown          9      3     NA   34.76      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_SUMM_RADIATION_F, data = data)

                RX_SUMM_RADIATION_F=None 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    457     300    0.616  0.0175        0.583        0.651
   24    342      81    0.503  0.0182        0.469        0.540
   36    271      42    0.440  0.0184        0.406        0.478
   48    227      16    0.413  0.0185        0.378        0.451
   60    192       6    0.401  0.0185        0.366        0.439
  120     54      20    0.344  0.0202        0.306        0.386

                RX_SUMM_RADIATION_F=Beam Radiation 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    379     137    0.749  0.0186        0.713        0.786
   24    294      47    0.652  0.0209        0.612        0.694
   36    230      14    0.618  0.0217        0.577        0.662
   48    179       9    0.592  0.0224        0.550        0.638
   60    152       2    0.586  0.0227        0.543        0.632
  120     41       7    0.550  0.0251        0.503        0.601

                RX_SUMM_RADIATION_F=Radiation, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       1      0.5   0.354        0.125            1
   24      1       0      0.5   0.354        0.125            1
   36      1       0      0.5   0.354        0.125            1
   48      1       0      0.5   0.354        0.125            1
   60      1       0      0.5   0.354        0.125            1

                RX_SUMM_RADIATION_F=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      6       2    0.762   0.148        0.521            1
   24      6       0    0.762   0.148        0.521            1
   36      5       1    0.635   0.169        0.377            1
   48      4       0    0.635   0.169        0.377            1
   60      3       0    0.635   0.169        0.377            1
  120      2       0    0.635   0.169        0.377            1




   
## Univariable Cox Proportional Hazard Model for:  RX_SUMM_RADIATION_F
X matrix deemed to be singular; variable 2 3 4
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_SUMM_RADIATION_F, data = data)

  n= 1391, number of events= 687 

                                             coef exp(coef) se(coef)      z Pr(>|z|)    
RX_SUMM_RADIATION_FBeam Radiation         -0.5644    0.5687   0.0823 -6.857 7.03e-12 ***
RX_SUMM_RADIATION_FRadioactive Implants        NA        NA   0.0000     NA       NA    
RX_SUMM_RADIATION_FRadioisotopes               NA        NA   0.0000     NA       NA    
RX_SUMM_RADIATION_FBeam + Imp or Isotopes      NA        NA   0.0000     NA       NA    
RX_SUMM_RADIATION_FRadiation, NOS         -0.6252    0.5352   1.0011 -0.625    0.532    
RX_SUMM_RADIATION_FUnknown                -0.7845    0.4563   0.5793 -1.354    0.176    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                          exp(coef) exp(-coef) lower .95 upper .95
RX_SUMM_RADIATION_FBeam Radiation            0.5687      1.758   0.48400    0.6683
RX_SUMM_RADIATION_FRadioactive Implants          NA         NA        NA        NA
RX_SUMM_RADIATION_FRadioisotopes                 NA         NA        NA        NA
RX_SUMM_RADIATION_FBeam + Imp or Isotopes        NA         NA        NA        NA
RX_SUMM_RADIATION_FRadiation, NOS            0.5351      1.869   0.07521    3.8076
RX_SUMM_RADIATION_FUnknown                   0.4563      2.191   0.14663    1.4203

Concordance= 0.57  (se = 0.01 )
Rsquare= 0.036   (max possible= 0.999 )
Likelihood ratio test= 51.19  on 3 df,   p=4.466e-11
Wald test            = 48.31  on 3 df,   p=1.827e-10
Score (logrank) test = 49.64  on 3 df,   p=9.536e-11
Removed 4 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RX_SUMM_RADIATION_F

Lymphovascular Invasion

#uni_var(test_var = "LYMPH_VASCULAR_INVASION_F", data_imp = data)

Endoscopic/Robotic

uni_var(test_var = "RX_HOSP_SURG_APPR_2010_F", data_imp = data)
_________________________________________________
   
## RX_HOSP_SURG_APPR_2010_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)

   702 observations deleted due to missingness 
                                        n events median 0.95LCL 0.95UCL
RX_HOSP_SURG_APPR_2010_F=No_Surg      419    182   60.9   33.28      NA
RX_HOSP_SURG_APPR_2010_F=Robot_Assist   1      0     NA      NA      NA
RX_HOSP_SURG_APPR_2010_F=Endo_Lap      37     14     NA   17.15      NA
RX_HOSP_SURG_APPR_2010_F=Open_Unknown  31     19   16.6    5.62      NA
RX_HOSP_SURG_APPR_2010_F=Unknown      201     84   55.6   26.81      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)

702 observations deleted due to missingness 
                RX_HOSP_SURG_APPR_2010_F=No_Surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    232     141    0.645  0.0241        0.599        0.694
   24    172      23    0.577  0.0254        0.529        0.629
   36    120       8    0.547  0.0263        0.497        0.601
   48     75       6    0.515  0.0277        0.464        0.573
   60     44       1    0.507  0.0286        0.454        0.566

                RX_HOSP_SURG_APPR_2010_F=Robot_Assist 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                RX_HOSP_SURG_APPR_2010_F=Endo_Lap 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     22      10    0.718  0.0762        0.583        0.884
   24     14       3    0.598  0.0895        0.446        0.802
   36     10       0    0.598  0.0895        0.446        0.802
   48      5       1    0.532  0.1013        0.366        0.773
   60      4       0    0.532  0.1013        0.366        0.773

                RX_HOSP_SURG_APPR_2010_F=Open_Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     15      15    0.506  0.0911        0.355        0.720
   24     10       2    0.431  0.0919        0.283        0.654
   36      6       1    0.369  0.0972        0.220        0.618
   48      3       1    0.308  0.0985        0.164        0.576
   60      3       0    0.308  0.0985        0.164        0.576

                RX_HOSP_SURG_APPR_2010_F=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    134      43    0.771  0.0307        0.713        0.834
   24    103      20    0.652  0.0357        0.586        0.726
   36     69      16    0.549  0.0383        0.479        0.630
   48     52       3    0.523  0.0393        0.452        0.606
   60     33       2    0.500  0.0410        0.425        0.587




   
## Univariable Cox Proportional Hazard Model for:  RX_HOSP_SURG_APPR_2010_F
Loglik converged before variable  1 ; beta may be infinite. X matrix deemed to be singular; variable 2 4
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)

  n= 689, number of events= 299 
   (702 observations deleted due to missingness)

                                               coef  exp(coef)   se(coef)      z Pr(>|z|)  
RX_HOSP_SURG_APPR_2010_FRobot_Assist     -1.305e+01  2.156e-06  1.281e+03 -0.010   0.9919  
RX_HOSP_SURG_APPR_2010_FRobot_to_Open            NA         NA  0.000e+00     NA       NA  
RX_HOSP_SURG_APPR_2010_FEndo_Lap         -1.539e-01  8.573e-01  2.774e-01 -0.555   0.5790  
RX_HOSP_SURG_APPR_2010_FEndo_Lap_to_Open         NA         NA  0.000e+00     NA       NA  
RX_HOSP_SURG_APPR_2010_FOpen_Unknown      4.803e-01  1.617e+00  2.411e-01  1.992   0.0464 *
RX_HOSP_SURG_APPR_2010_FUnknown          -1.626e-01  8.500e-01  1.320e-01 -1.231   0.2182  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                         exp(coef) exp(-coef) lower .95 upper .95
RX_HOSP_SURG_APPR_2010_FRobot_Assist     2.156e-06  4.638e+05    0.0000       Inf
RX_HOSP_SURG_APPR_2010_FRobot_to_Open           NA         NA        NA        NA
RX_HOSP_SURG_APPR_2010_FEndo_Lap         8.573e-01  1.166e+00    0.4978     1.477
RX_HOSP_SURG_APPR_2010_FEndo_Lap_to_Open        NA         NA        NA        NA
RX_HOSP_SURG_APPR_2010_FOpen_Unknown     1.617e+00  6.186e-01    1.0077     2.593
RX_HOSP_SURG_APPR_2010_FUnknown          8.500e-01  1.177e+00    0.6562     1.101

Concordance= 0.544  (se = 0.015 )
Rsquare= 0.01   (max possible= 0.995 )
Likelihood ratio test= 6.67  on 4 df,   p=0.1542
Wald test            = 6.78  on 4 df,   p=0.1481
Score (logrank) test = 7.2  on 4 df,   p=0.1256
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 3 rows containing missing values (geom_errorbar).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RX_HOSP_SURG_APPR_2010_F

Surgery Radiation Sequence

uni_var(test_var = "SURG_RAD_SEQ", data_imp = data)
_________________________________________________
   
## SURG_RAD_SEQ
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ, data = data)

                             n events median 0.95LCL 0.95UCL
SURG_RAD_SEQ=Surg Alone    126     73   33.8    14.7    97.3
SURG_RAD_SEQ=Surg then Rad 111     29     NA      NA      NA
SURG_RAD_SEQ=Rad Alone     425    179     NA    53.9      NA
SURG_RAD_SEQ=No Treatment  659    374   24.2    19.3    27.7
SURG_RAD_SEQ=Other          68     32   76.5    11.7      NA
SURG_RAD_SEQ=Rad then Surg   2      0     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ, data = data)

                SURG_RAD_SEQ=Surg Alone 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     73      50    0.595  0.0442        0.515        0.689
   24     61       8    0.528  0.0451        0.447        0.625
   36     52       4    0.493  0.0454        0.412        0.591
   48     42       7    0.425  0.0459        0.344        0.525
   60     38       0    0.425  0.0459        0.344        0.525
  120     10       3    0.386  0.0472        0.304        0.490

                SURG_RAD_SEQ=Surg then Rad 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     86      16    0.850  0.0346        0.785        0.921
   24     70       8    0.767  0.0419        0.690        0.854
   36     56       3    0.732  0.0446        0.650        0.825
   48     43       1    0.718  0.0459        0.634        0.814
   60     38       1    0.701  0.0479        0.613        0.802
  120     10       0    0.701  0.0479        0.613        0.802

                SURG_RAD_SEQ=Rad Alone 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    274     113    0.725  0.0221        0.683        0.769
   24    206      39    0.617  0.0247        0.570        0.667
   36    163      11    0.582  0.0255        0.534        0.634
   48    130       8    0.551  0.0263        0.502        0.605
   60    109       1    0.547  0.0265        0.497        0.601
  120     31       7    0.502  0.0294        0.447        0.563

                SURG_RAD_SEQ=No Treatment 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    373     234    0.628  0.0193        0.591        0.667
   24    272      71    0.504  0.0204        0.466        0.546
   36    211      37    0.434  0.0205        0.396        0.477
   48    177       9    0.415  0.0206        0.376        0.457
   60    147       6    0.400  0.0208        0.361        0.442
  120     41      16    0.336  0.0234        0.293        0.385

                SURG_RAD_SEQ=Other 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     35      27    0.580  0.0617        0.471        0.715
   24     32       2    0.547  0.0625        0.437        0.685
   36     24       2    0.508  0.0639        0.397        0.650
   48     19       0    0.508  0.0639        0.397        0.650
   60     16       0    0.508  0.0639        0.397        0.650
  120      5       1    0.469  0.0699        0.350        0.628

                SURG_RAD_SEQ=Rad then Surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      2       0        1       0            1            1
   36      1       0        1       0            1            1




   
## Univariable Cox Proportional Hazard Model for:  SURG_RAD_SEQ
Loglik converged before variable  6 ; beta may be infinite. X matrix deemed to be singular; variable 5
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ, data = data)

  n= 1391, number of events= 687 

                                            coef  exp(coef)   se(coef)      z Pr(>|z|)    
SURG_RAD_SEQSurg then Rad             -1.020e+00  3.607e-01  2.195e-01 -4.645  3.4e-06 ***
SURG_RAD_SEQRad Alone                 -4.003e-01  6.701e-01  1.389e-01 -2.881  0.00396 ** 
SURG_RAD_SEQNo Treatment               2.733e-02  1.028e+00  1.281e-01  0.213  0.83104    
SURG_RAD_SEQOther                     -1.408e-01  8.686e-01  2.120e-01 -0.664  0.50655    
SURG_RAD_SEQRad before and after Surg         NA         NA  0.000e+00     NA       NA    
SURG_RAD_SEQRad then Surg             -1.422e+01  6.692e-07  9.616e+02 -0.015  0.98820    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                      exp(coef) exp(-coef) lower .95 upper .95
SURG_RAD_SEQSurg then Rad             3.607e-01  2.772e+00    0.2346    0.5546
SURG_RAD_SEQRad Alone                 6.701e-01  1.492e+00    0.5104    0.8799
SURG_RAD_SEQNo Treatment              1.028e+00  9.730e-01    0.7996    1.3209
SURG_RAD_SEQOther                     8.686e-01  1.151e+00    0.5732    1.3162
SURG_RAD_SEQRad before and after Surg        NA         NA        NA        NA
SURG_RAD_SEQRad then Surg             6.692e-07  1.494e+06    0.0000       Inf

Concordance= 0.57  (se = 0.011 )
Rsquare= 0.04   (max possible= 0.999 )
Likelihood ratio test= 56.93  on 5 df,   p=5.236e-11
Wald test            = 46.45  on 5 df,   p=7.347e-09
Score (logrank) test = 50.3  on 5 df,   p=1.201e-09
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 2 rows containing missing values (geom_errorbar).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SURG_RAD_SEQ

Surgery Yes/No

uni_var(test_var = "SURGERY_YN", data_imp = data)
_________________________________________________
   
## SURGERY_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURGERY_YN, data = data)

                  n events median 0.95LCL 0.95UCL
SURGERY_YN=No  1116    566   33.3    25.9    51.3
SURGERY_YN=Ukn   33     18   20.2     8.9      NA
SURGERY_YN=Yes  242    103  128.0    45.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURGERY_YN, data = data)

                SURGERY_YN=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    663     361    0.663  0.0145        0.635        0.692
   24    494     109    0.550  0.0156        0.520        0.581
   36    384      48    0.494  0.0159        0.464        0.526
   48    313      17    0.471  0.0162        0.440        0.504
   60    260       7    0.460  0.0163        0.429        0.493
  120     72      23    0.402  0.0185        0.368        0.440

                SURGERY_YN=Ukn 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     17      12    0.599  0.0898        0.446        0.803
   24     14       3    0.493  0.0924        0.342        0.712
   36     12       2    0.423  0.0916        0.276        0.646
   48     12       0    0.423  0.0916        0.276        0.646
   60     11       0    0.423  0.0916        0.276        0.646
  120      4       1    0.380  0.0917        0.237        0.610

                SURGERY_YN=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    163      67    0.717  0.0293        0.662        0.777
   24    135      16    0.644  0.0315        0.585        0.709
   36    111       7    0.609  0.0325        0.548        0.676
   48     86       8    0.562  0.0339        0.500        0.633
   60     77       1    0.556  0.0341        0.493        0.627
  120     21       3    0.529  0.0360        0.463        0.605




   
## Univariable Cox Proportional Hazard Model for:  SURGERY_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURGERY_YN, data = data)

  n= 1391, number of events= 687 

                 coef exp(coef) se(coef)      z Pr(>|z|)   
SURGERY_YNUkn  0.1147    1.1215   0.2395  0.479  0.63203   
SURGERY_YNYes -0.2880    0.7498   0.1072 -2.686  0.00723 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
SURGERY_YNUkn    1.1215     0.8916    0.7013    1.7935
SURGERY_YNYes    0.7498     1.3338    0.6076    0.9251

Concordance= 0.519  (se = 0.008 )
Rsquare= 0.006   (max possible= 0.999 )
Likelihood ratio test= 8.16  on 2 df,   p=0.01694
Wald test            = 7.66  on 2 df,   p=0.0217
Score (logrank) test = 7.72  on 2 df,   p=0.02112
no non-missing arguments to min; returning Infno non-missing arguments to max; returning -InfTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SURGERY_YN

Radiation Yes/No

uni_var(test_var = "RADIATION_YN", data_imp = data)
_________________________________________________
   
## RADIATION_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RADIATION_YN, data = data)

   19 observations deleted due to missingness 
                   n events median 0.95LCL 0.95UCL
RADIATION_YN=No  806    457   24.5    20.4      30
RADIATION_YN=Yes 566    217     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RADIATION_YN, data = data)

19 observations deleted due to missingness 
                RADIATION_YN=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    457     290    0.624  0.0175        0.590        0.659
   24    342      81    0.510  0.0183        0.475        0.547
   36    271      42    0.446  0.0185        0.411        0.484
   48    227      16    0.418  0.0186        0.383        0.456
   60    192       6    0.406  0.0187        0.371        0.445
  120     54      20    0.348  0.0205        0.310        0.390

                RADIATION_YN=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    380     138    0.748  0.0186        0.712        0.785
   24    295      47    0.651  0.0209        0.612        0.694
   36    231      14    0.618  0.0216        0.577        0.662
   48    180       9    0.592  0.0224        0.550        0.638
   60    153       2    0.586  0.0226        0.543        0.632
  120     41       7    0.550  0.0250        0.503        0.602




   
## Univariable Cox Proportional Hazard Model for:  RADIATION_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RADIATION_YN, data = data)

  n= 1372, number of events= 674 
   (19 observations deleted due to missingness)

                    coef exp(coef) se(coef)      z Pr(>|z|)    
RADIATION_YNYes -0.54563   0.57948  0.08245 -6.617 3.66e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                exp(coef) exp(-coef) lower .95 upper .95
RADIATION_YNYes    0.5795      1.726     0.493    0.6811

Concordance= 0.566  (se = 0.01 )
Rsquare= 0.033   (max possible= 0.999 )
Likelihood ratio test= 46.22  on 1 df,   p=1.056e-11
Wald test            = 43.79  on 1 df,   p=3.658e-11
Score (logrank) test = 44.88  on 1 df,   p=2.09e-11





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RADIATION_YN

Chemo Yes/No

uni_var(test_var = "CHEMO_YN", data_imp = data)
_________________________________________________
   
## CHEMO_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CHEMO_YN, data = data)

                n events median 0.95LCL 0.95UCL
CHEMO_YN=No   287    166   17.1    9.79    38.0
CHEMO_YN=Yes 1066    513   49.4   33.81    86.1
CHEMO_YN=Ukn   38      8     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CHEMO_YN, data = data)

                CHEMO_YN=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    140     124    0.543  0.0303        0.487        0.606
   24    108      17    0.475  0.0308        0.418        0.539
   36     92       7    0.443  0.0310        0.386        0.508
   48     74      10    0.391  0.0313        0.335        0.458
   60     67       1    0.386  0.0314        0.329        0.453
  120     21       6    0.338  0.0335        0.278        0.410

                CHEMO_YN=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    678     313    0.697  0.0143        0.670        0.726
   24    512     109    0.581  0.0157        0.551        0.613
   36    395      49    0.523  0.0162        0.492        0.555
   48    320      15    0.502  0.0164        0.471        0.535
   60    268       6    0.492  0.0166        0.460        0.525
  120     73      20    0.441  0.0186        0.406        0.479

                CHEMO_YN=Ukn 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     25       3    0.906  0.0521        0.809        1.000
   24     23       2    0.833  0.0687        0.709        0.979
   36     20       1    0.797  0.0746        0.663        0.957
   48     17       0    0.797  0.0746        0.663        0.957
   60     13       1    0.740  0.0884        0.586        0.935
  120      3       1    0.683  0.0982        0.515        0.905




   
## Univariable Cox Proportional Hazard Model for:  CHEMO_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CHEMO_YN, data = data)

  n= 1391, number of events= 687 

                coef exp(coef) se(coef)      z Pr(>|z|)    
CHEMO_YNYes -0.43914   0.64459  0.08936 -4.915  8.9e-07 ***
CHEMO_YNUkn -1.27531   0.27934  0.36204 -3.523 0.000427 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

            exp(coef) exp(-coef) lower .95 upper .95
CHEMO_YNYes    0.6446      1.551    0.5410    0.7680
CHEMO_YNUkn    0.2793      3.580    0.1374    0.5679

Concordance= 0.558  (se = 0.008 )
Rsquare= 0.023   (max possible= 0.999 )
Likelihood ratio test= 31.72  on 2 df,   p=1.295e-07
Wald test            = 31.2  on 2 df,   p=1.681e-07
Score (logrank) test = 32.28  on 2 df,   p=9.767e-08
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  CHEMO_YN

Treatment Yes/No

uni_var(test_var = "Tx_YN", data_imp = data)
_________________________________________________
   
## Tx_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ Tx_YN, data = data)

   38 observations deleted due to missingness 
               n events median 0.95LCL 0.95UCL
Tx_YN=FALSE  130     77   9.17    2.89    38.0
Tx_YN=TRUE  1223    602  41.40   32.26    64.4

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ Tx_YN, data = data)

38 observations deleted due to missingness 
                Tx_YN=FALSE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     54      65    0.460  0.0456        0.379        0.559
   24     40       5    0.417  0.0452        0.337        0.516
   36     38       1    0.406  0.0453        0.326        0.506
   48     30       3    0.370  0.0459        0.290        0.472
   60     27       0    0.370  0.0459        0.290        0.472
  120     11       2    0.329  0.0501        0.244        0.443

                Tx_YN=TRUE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    764     372    0.686  0.0135        0.660        0.713
   24    580     121    0.574  0.0147        0.545        0.603
   36    449      55    0.516  0.0151        0.488        0.547
   48    364      22    0.490  0.0154        0.461        0.521
   60    308       7    0.480  0.0155        0.450        0.511
  120     83      24    0.429  0.0172        0.396        0.464




   
## Univariable Cox Proportional Hazard Model for:  Tx_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ Tx_YN, data = data)

  n= 1353, number of events= 679 
   (38 observations deleted due to missingness)

             coef exp(coef) se(coef)      z Pr(>|z|)    
Tx_YNTRUE -0.5761    0.5621   0.1211 -4.756 1.97e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

          exp(coef) exp(-coef) lower .95 upper .95
Tx_YNTRUE    0.5621      1.779    0.4433    0.7127

Concordance= 0.535  (se = 0.005 )
Rsquare= 0.014   (max possible= 0.999 )
Likelihood ratio test= 19.53  on 1 df,   p=9.928e-06
Wald test            = 22.62  on 1 df,   p=1.973e-06
Score (logrank) test = 23.25  on 1 df,   p=1.42e-06





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  Tx_YN

Metastases at Dx

uni_var(test_var = "mets_at_dx_F", data_imp = data)
_________________________________________________
   
## mets_at_dx_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ mets_at_dx_F, data = data)

      n  events  median 0.95LCL 0.95UCL 
 1391.0   687.0    40.4    31.0    61.9 

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ mets_at_dx_F, data = data)

 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    843     440    0.671  0.0129        0.646        0.697
   24    643     128    0.565  0.0138        0.539        0.593
   36    507      57    0.513  0.0142        0.486        0.542
   48    411      25    0.486  0.0144        0.459        0.515
   60    348       8    0.476  0.0146        0.448        0.506
  120     97      27    0.426  0.0162        0.395        0.459



   
## Univariable Cox Proportional Hazard Model for:  mets_at_dx_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ mets_at_dx_F, data = data)

  n= 1391, number of events= 687 

                 coef exp(coef) se(coef)  z Pr(>|z|)
mets_at_dx_FTRUE    0         1        0 NA       NA

                 exp(coef) exp(-coef) lower .95 upper .95
mets_at_dx_FTRUE         1          1         1         1

Concordance= 0.5  (se = 0 )
Rsquare= 0   (max possible= 0.999 )
Likelihood ratio test= 0  on 1 df,   p=1
Wald test            = NaN  on 1 df,   p=NaN
Score (logrank) test = 0  on 1 df,   p=1
relative range of values =   0 * EPS, is small (axis 0)



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  mets_at_dx_F

Tumor specific Variables

Node Size

Cox Proportional Hazard Ratio

Model #1

Full analysis

model_one <- coxph(Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 0)
                     ~ SURG_RAD_SEQ + INSURANCE_F + AGE + SEX_F + RACE_F + INCOME_F + U_R_F +
                      FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F,
                     data = data)
Loglik converged before variable  6 ; beta may be infinite. X matrix deemed to be singular; variable 5
model_one %>% summary()
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ + INSURANCE_F + AGE + SEX_F + RACE_F + 
    INCOME_F + U_R_F + FACILITY_TYPE_F + FACILITY_LOCATION_F + 
    EDUCATION_F, data = data)

  n= 855, number of events= 507 
   (536 observations deleted due to missingness)

                                                   coef  exp(coef)   se(coef)      z Pr(>|z|)    
SURG_RAD_SEQSurg then Rad                    -1.341e+00  2.616e-01  2.714e-01 -4.942 7.74e-07 ***
SURG_RAD_SEQRad Alone                        -6.307e-01  5.322e-01  1.695e-01 -3.720 0.000199 ***
SURG_RAD_SEQNo Treatment                      4.729e-03  1.005e+00  1.568e-01  0.030 0.975932    
SURG_RAD_SEQOther                             7.213e-02  1.075e+00  2.661e-01  0.271 0.786367    
SURG_RAD_SEQRad before and after Surg                NA         NA  0.000e+00     NA       NA    
SURG_RAD_SEQRad then Surg                    -1.371e+01  1.114e-06  8.014e+02 -0.017 0.986354    
INSURANCE_FNone                               2.807e-01  1.324e+00  1.884e-01  1.490 0.136349    
INSURANCE_FMedicaid                          -1.492e-01  8.614e-01  1.708e-01 -0.873 0.382540    
INSURANCE_FMedicare                          -5.684e-02  9.447e-01  1.347e-01 -0.422 0.673041    
INSURANCE_FOther Government                   3.082e-02  1.031e+00  3.974e-01  0.078 0.938188    
INSURANCE_FUnknown                           -2.709e-01  7.627e-01  2.777e-01 -0.975 0.329313    
AGE                                           3.137e-02  1.032e+00  4.928e-03  6.366 1.94e-10 ***
SEX_FFemale                                   1.287e-01  1.137e+00  9.538e-02  1.350 0.177131    
RACE_FBlack                                   4.467e-01  1.563e+00  1.410e-01  3.167 0.001539 ** 
RACE_FOther/Unk                               4.501e-01  1.569e+00  2.608e-01  1.726 0.084317 .  
RACE_FAsian                                  -1.730e-02  9.829e-01  1.753e-01 -0.099 0.921398    
INCOME_F$38,000 - $47,999                    -5.751e-02  9.441e-01  1.557e-01 -0.369 0.711907    
INCOME_F$48,000 - $62,999                     2.083e-01  1.232e+00  1.546e-01  1.347 0.177990    
INCOME_F$63,000 +                             2.132e-01  1.238e+00  1.875e-01  1.137 0.255423    
U_R_FUrban                                   -2.193e-03  9.978e-01  1.503e-01 -0.015 0.988359    
U_R_FRural                                    1.191e-01  1.126e+00  3.145e-01  0.379 0.704988    
FACILITY_TYPE_FComprehensive Comm Ca Program -3.121e-01  7.319e-01  2.192e-01 -1.424 0.154559    
FACILITY_TYPE_FAcademic/Research Program     -3.413e-01  7.109e-01  2.156e-01 -1.583 0.113393    
FACILITY_TYPE_FIntegrated Network Ca Program -9.670e-02  9.078e-01  2.457e-01 -0.394 0.693925    
FACILITY_LOCATION_FMiddle Atlantic            6.606e-02  1.068e+00  2.782e-01  0.237 0.812299    
FACILITY_LOCATION_FSouth Atlantic             3.471e-01  1.415e+00  2.688e-01  1.291 0.196694    
FACILITY_LOCATION_FEast North Central         3.387e-01  1.403e+00  2.773e-01  1.221 0.221931    
FACILITY_LOCATION_FEast South Central         2.980e-01  1.347e+00  3.232e-01  0.922 0.356622    
FACILITY_LOCATION_FWest North Central         4.813e-01  1.618e+00  2.947e-01  1.633 0.102458    
FACILITY_LOCATION_FWest South Central         1.138e-02  1.011e+00  2.963e-01  0.038 0.969358    
FACILITY_LOCATION_FMountain                   3.990e-01  1.490e+00  3.475e-01  1.148 0.250819    
FACILITY_LOCATION_FPacific                    7.498e-02  1.078e+00  2.715e-01  0.276 0.782403    
EDUCATION_F13 - 20.9%                        -1.483e-01  8.622e-01  1.432e-01 -1.035 0.300475    
EDUCATION_F7 - 12.9%                         -3.731e-01  6.886e-01  1.670e-01 -2.235 0.025435 *  
EDUCATION_FLess than 7%                      -4.431e-01  6.421e-01  1.951e-01 -2.271 0.023124 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                             exp(coef) exp(-coef) lower .95 upper .95
SURG_RAD_SEQSurg then Rad                    2.616e-01  3.823e+00    0.1537    0.4452
SURG_RAD_SEQRad Alone                        5.322e-01  1.879e+00    0.3818    0.7420
SURG_RAD_SEQNo Treatment                     1.005e+00  9.953e-01    0.7390    1.3661
SURG_RAD_SEQOther                            1.075e+00  9.304e-01    0.6380    1.8107
SURG_RAD_SEQRad before and after Surg               NA         NA        NA        NA
SURG_RAD_SEQRad then Surg                    1.114e-06  8.973e+05    0.0000       Inf
INSURANCE_FNone                              1.324e+00  7.553e-01    0.9152    1.9154
INSURANCE_FMedicaid                          8.614e-01  1.161e+00    0.6163    1.2040
INSURANCE_FMedicare                          9.447e-01  1.058e+00    0.7255    1.2302
INSURANCE_FOther Government                  1.031e+00  9.697e-01    0.4733    2.2473
INSURANCE_FUnknown                           7.627e-01  1.311e+00    0.4425    1.3144
AGE                                          1.032e+00  9.691e-01    1.0219    1.0419
SEX_FFemale                                  1.137e+00  8.792e-01    0.9435    1.3712
RACE_FBlack                                  1.563e+00  6.397e-01    1.1856    2.0609
RACE_FOther/Unk                              1.569e+00  6.375e-01    0.9409    2.6150
RACE_FAsian                                  9.829e-01  1.017e+00    0.6971    1.3858
INCOME_F$38,000 - $47,999                    9.441e-01  1.059e+00    0.6958    1.2811
INCOME_F$48,000 - $62,999                    1.232e+00  8.120e-01    0.9096    1.6676
INCOME_F$63,000 +                            1.238e+00  8.080e-01    0.8571    1.7873
U_R_FUrban                                   9.978e-01  1.002e+00    0.7432    1.3396
U_R_FRural                                   1.126e+00  8.877e-01    0.6081    2.0865
FACILITY_TYPE_FComprehensive Comm Ca Program 7.319e-01  1.366e+00    0.4763    1.1248
FACILITY_TYPE_FAcademic/Research Program     7.109e-01  1.407e+00    0.4659    1.0846
FACILITY_TYPE_FIntegrated Network Ca Program 9.078e-01  1.102e+00    0.5608    1.4695
FACILITY_LOCATION_FMiddle Atlantic           1.068e+00  9.361e-01    0.6193    1.8429
FACILITY_LOCATION_FSouth Atlantic            1.415e+00  7.067e-01    0.8354    2.3965
FACILITY_LOCATION_FEast North Central        1.403e+00  7.127e-01    0.8148    2.4160
FACILITY_LOCATION_FEast South Central        1.347e+00  7.423e-01    0.7149    2.5382
FACILITY_LOCATION_FWest North Central        1.618e+00  6.180e-01    0.9081    2.8835
FACILITY_LOCATION_FWest South Central        1.011e+00  9.887e-01    0.5659    1.8078
FACILITY_LOCATION_FMountain                  1.490e+00  6.710e-01    0.7543    2.9447
FACILITY_LOCATION_FPacific                   1.078e+00  9.278e-01    0.6331    1.8350
EDUCATION_F13 - 20.9%                        8.622e-01  1.160e+00    0.6512    1.1416
EDUCATION_F7 - 12.9%                         6.886e-01  1.452e+00    0.4964    0.9552
EDUCATION_FLess than 7%                      6.421e-01  1.557e+00    0.4381    0.9411

Concordance= 0.672  (se = 0.014 )
Rsquare= 0.188   (max possible= 0.999 )
Likelihood ratio test= 178.4  on 34 df,   p=0
Wald test            = 165.5  on 34 df,   p=0
Score (logrank) test = 174.6  on 34 df,   p=0

Summary of Model

model_one %>%
        tidy(., exponentiate = TRUE) %>%
        select(term, estimate, conf.low, conf.high, p.value) %>%
        rename(Variable = term,
               Hazard_Ratio = estimate) %>%
        tbl_df %>%
        print(n = nrow(.))

Prediction Logistic Regression Models

Surgery

no_Ukns <- data %>%
  filter(SURGERY_YN != "Ukn") %>% 
  droplevels() %>% 
  mutate(SURGERY_YN = as.logical(SURGERY_YN))
fit_surg <- glm(SURG_TF ~ AGE_F + SEX_F + RACE_F + INCOME_F + U_R_F +
                      FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + EXPN_GROUP,
   data = no_Ukns)
summary(fit_surg)

Call:
glm(formula = SURG_TF ~ AGE_F + SEX_F + RACE_F + INCOME_F + U_R_F + 
    FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + EXPN_GROUP, 
    data = no_Ukns)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-0.44107  -0.20202  -0.14449  -0.06371   0.96267  

Coefficients:
                                              Estimate Std. Error t value Pr(>|t|)   
(Intercept)                                   0.311972   0.098891   3.155  0.00167 **
AGE_F(54,64]                                 -0.042409   0.033392  -1.270  0.20445   
AGE_F(64,74]                                 -0.074782   0.038072  -1.964  0.04985 * 
AGE_F(74,100]                                 0.009394   0.040508   0.232  0.81667   
SEX_FFemale                                  -0.016275   0.027548  -0.591  0.55483   
RACE_FBlack                                   0.002899   0.044717   0.065  0.94832   
RACE_FOther/Unk                              -0.141571   0.074180  -1.908  0.05668 . 
RACE_FAsian                                  -0.028241   0.046976  -0.601  0.54789   
INCOME_F$38,000 - $47,999                     0.003372   0.044836   0.075  0.94006   
INCOME_F$48,000 - $62,999                     0.030403   0.045650   0.666  0.50559   
INCOME_F$63,000 +                             0.035080   0.053776   0.652  0.51438   
U_R_FUrban                                    0.012454   0.043167   0.289  0.77304   
U_R_FRural                                   -0.117733   0.101984  -1.154  0.24867   
FACILITY_TYPE_FComprehensive Comm Ca Program -0.100401   0.065746  -1.527  0.12713   
FACILITY_TYPE_FAcademic/Research Program     -0.084019   0.064255  -1.308  0.19139   
FACILITY_TYPE_FIntegrated Network Ca Program -0.025077   0.074757  -0.335  0.73737   
FACILITY_LOCATION_FMiddle Atlantic           -0.099926   0.070949  -1.408  0.15939   
FACILITY_LOCATION_FSouth Atlantic            -0.090808   0.069082  -1.314  0.18906   
FACILITY_LOCATION_FEast North Central        -0.185193   0.071272  -2.598  0.00954 **
FACILITY_LOCATION_FEast South Central        -0.184476   0.088431  -2.086  0.03728 * 
FACILITY_LOCATION_FWest North Central        -0.166858   0.077151  -2.163  0.03086 * 
FACILITY_LOCATION_FWest South Central        -0.126804   0.077320  -1.640  0.10140   
FACILITY_LOCATION_FMountain                  -0.033443   0.094617  -0.353  0.72383   
FACILITY_LOCATION_FPacific                   -0.074151   0.069071  -1.074  0.28335   
EDUCATION_F13 - 20.9%                         0.006692   0.041738   0.160  0.87265   
EDUCATION_F7 - 12.9%                          0.051781   0.046418   1.116  0.26495   
EDUCATION_FLess than 7%                       0.023182   0.054392   0.426  0.67007   
EXPN_GROUPPre-Expansion                       0.052101   0.035014   1.488  0.13714   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for gaussian family taken to be 0.1403115)

    Null deviance: 117.74  on 830  degrees of freedom
Residual deviance: 112.67  on 803  degrees of freedom
  (527 observations deleted due to missingness)
AIC: 755.8

Number of Fisher Scoring iterations: 2
exp(cbind("Odds ratio" = coef(fit_surg), confint.default(fit_surg, level = 0.95)))
                                             Odds ratio     2.5 %    97.5 %
(Intercept)                                   1.3661161 1.1254121 1.6583019
AGE_F(54,64]                                  0.9584776 0.8977560 1.0233063
AGE_F(64,74]                                  0.9279461 0.8612234 0.9998382
AGE_F(74,100]                                 1.0094385 0.9323936 1.0928498
SEX_FFemale                                   0.9838567 0.9321440 1.0384383
RACE_FBlack                                   1.0029035 0.9187465 1.0947693
RACE_FOther/Unk                               0.8679933 0.7505407 1.0038260
RACE_FAsian                                   0.9721538 0.8866434 1.0659110
INCOME_F$38,000 - $47,999                     1.0033780 0.9189679 1.0955414
INCOME_F$48,000 - $62,999                     1.0308703 0.9426425 1.1273558
INCOME_F$63,000 +                             1.0357023 0.9320959 1.1508251
U_R_FUrban                                    1.0125319 0.9303889 1.1019271
U_R_FRural                                    0.8889335 0.7278814 1.0856202
FACILITY_TYPE_FComprehensive Comm Ca Program  0.9044744 0.7951210 1.0288673
FACILITY_TYPE_FAcademic/Research Program      0.9194137 0.8106199 1.0428088
FACILITY_TYPE_FIntegrated Network Ca Program  0.9752343 0.8423178 1.1291248
FACILITY_LOCATION_FMiddle Atlantic            0.9049043 0.7874283 1.0399065
FACILITY_LOCATION_FSouth Atlantic             0.9131933 0.7975533 1.0456004
FACILITY_LOCATION_FEast North Central         0.8309436 0.7226109 0.9555173
FACILITY_LOCATION_FEast South Central         0.8315396 0.6992151 0.9889063
FACILITY_LOCATION_FWest North Central         0.8463194 0.7275504 0.9844769
FACILITY_LOCATION_FWest South Central         0.8809062 0.7570336 1.0250480
FACILITY_LOCATION_FMountain                   0.9671096 0.8034114 1.1641620
FACILITY_LOCATION_FPacific                    0.9285313 0.8109672 1.0631385
EDUCATION_F13 - 20.9%                         1.0067146 0.9276395 1.0925305
EDUCATION_F7 - 12.9%                          1.0531453 0.9615626 1.1534506
EDUCATION_FLess than 7%                       1.0234531 0.9199605 1.1385882
EXPN_GROUPPre-Expansion                       1.0534823 0.9836113 1.1283165

Metastasis at Time of Diagnosis

# limit to those cases where data about expansion status is available (> Age 39, non-ambiguous status states)
fit_mets <- glm(mets_at_dx_F ~ AGE_F + SEX_F + RACE_F + INCOME_F + U_R_F +
                      FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + EXPN_GROUP,
   data = no_Excludes)
summary(fit_mets)

Call:
glm(formula = mets_at_dx_F ~ AGE_F + SEX_F + RACE_F + INCOME_F + 
    U_R_F + FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + 
    EXPN_GROUP, data = no_Excludes)

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
     0       0       0       0       0  

Coefficients:
                                             Estimate Std. Error t value Pr(>|t|)
(Intercept)                                         0          0      NA       NA
AGE_F(54,64]                                        0          0      NA       NA
AGE_F(64,74]                                        0          0      NA       NA
AGE_F(74,100]                                       0          0      NA       NA
SEX_FFemale                                         0          0      NA       NA
RACE_FBlack                                         0          0      NA       NA
RACE_FOther/Unk                                     0          0      NA       NA
RACE_FAsian                                         0          0      NA       NA
INCOME_F$38,000 - $47,999                           0          0      NA       NA
INCOME_F$48,000 - $62,999                           0          0      NA       NA
INCOME_F$63,000 +                                   0          0      NA       NA
U_R_FUrban                                          0          0      NA       NA
U_R_FRural                                          0          0      NA       NA
FACILITY_TYPE_FComprehensive Comm Ca Program        0          0      NA       NA
FACILITY_TYPE_FAcademic/Research Program            0          0      NA       NA
FACILITY_TYPE_FIntegrated Network Ca Program        0          0      NA       NA
FACILITY_LOCATION_FMiddle Atlantic                  0          0      NA       NA
FACILITY_LOCATION_FSouth Atlantic                   0          0      NA       NA
FACILITY_LOCATION_FEast North Central               0          0      NA       NA
FACILITY_LOCATION_FEast South Central               0          0      NA       NA
FACILITY_LOCATION_FWest North Central               0          0      NA       NA
FACILITY_LOCATION_FWest South Central               0          0      NA       NA
FACILITY_LOCATION_FMountain                         0          0      NA       NA
FACILITY_LOCATION_FPacific                          0          0      NA       NA
EDUCATION_F13 - 20.9%                               0          0      NA       NA
EDUCATION_F7 - 12.9%                                0          0      NA       NA
EDUCATION_FLess than 7%                             0          0      NA       NA
EXPN_GROUPPre-Expansion                             0          0      NA       NA

(Dispersion parameter for gaussian family taken to be 0)

    Null deviance: 0  on 687  degrees of freedom
Residual deviance: 0  on 660  degrees of freedom
  (18 observations deleted due to missingness)
AIC: -Inf

Number of Fisher Scoring iterations: 1
exp(cbind("Odds ratio" = coef(fit_mets), confint.default(fit_surg, level = 0.95)))
                                             Odds ratio     2.5 %    97.5 %
(Intercept)                                           1 1.1254121 1.6583019
AGE_F(54,64]                                          1 0.8977560 1.0233063
AGE_F(64,74]                                          1 0.8612234 0.9998382
AGE_F(74,100]                                         1 0.9323936 1.0928498
SEX_FFemale                                           1 0.9321440 1.0384383
RACE_FBlack                                           1 0.9187465 1.0947693
RACE_FOther/Unk                                       1 0.7505407 1.0038260
RACE_FAsian                                           1 0.8866434 1.0659110
INCOME_F$38,000 - $47,999                             1 0.9189679 1.0955414
INCOME_F$48,000 - $62,999                             1 0.9426425 1.1273558
INCOME_F$63,000 +                                     1 0.9320959 1.1508251
U_R_FUrban                                            1 0.9303889 1.1019271
U_R_FRural                                            1 0.7278814 1.0856202
FACILITY_TYPE_FComprehensive Comm Ca Program          1 0.7951210 1.0288673
FACILITY_TYPE_FAcademic/Research Program              1 0.8106199 1.0428088
FACILITY_TYPE_FIntegrated Network Ca Program          1 0.8423178 1.1291248
FACILITY_LOCATION_FMiddle Atlantic                    1 0.7874283 1.0399065
FACILITY_LOCATION_FSouth Atlantic                     1 0.7975533 1.0456004
FACILITY_LOCATION_FEast North Central                 1 0.7226109 0.9555173
FACILITY_LOCATION_FEast South Central                 1 0.6992151 0.9889063
FACILITY_LOCATION_FWest North Central                 1 0.7275504 0.9844769
FACILITY_LOCATION_FWest South Central                 1 0.7570336 1.0250480
FACILITY_LOCATION_FMountain                           1 0.8034114 1.1641620
FACILITY_LOCATION_FPacific                            1 0.8109672 1.0631385
EDUCATION_F13 - 20.9%                                 1 0.9276395 1.0925305
EDUCATION_F7 - 12.9%                                  1 0.9615626 1.1534506
EDUCATION_FLess than 7%                               1 0.9199605 1.1385882
EXPN_GROUPPre-Expansion                               1 0.9836113 1.1283165
LS0tCnRpdGxlOiAiQ3V0YW5lb3VzIFQtQ2VsbCBMeW1waG9tYSBBbmFseXNpcyAtIEEgUmV2aWV3IG9mIHRoZSBOQ0RCIgphdXRob3I6ICJSYW1pZSBGYXRoeSIKZGF0ZTogIjEwLzE2LzIwMTkiCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgdGhlbWU6IHVuaXRlZAogICAgdG9jOiB5ZXMKICAgIHRvY19mbG9hdDogeWVzCiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogeWVzCi0tLQoKYGBge3IsIGVjaG89RkFMU0UsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9CgpsaWJyYXJ5KCJnZ3Bsb3QyIikKbGlicmFyeSgiZHBseXIiKQpsaWJyYXJ5KCJ0aWR5ciIpCmxpYnJhcnkoImtuaXRyIikKbGlicmFyeSgidGFibGVvbmUiKQpsaWJyYXJ5KCJmb3JjYXRzIikKbGlicmFyeSgic3Vydml2YWwiKQpsaWJyYXJ5KCJucHN1cnYiKQpsaWJyYXJ5KCJicm9vbSIpCmxpYnJhcnkoInRpYmJsZSIpCmxpYnJhcnkoInJlYWRyIikKbGlicmFyeSgic3Vydm1pbmVyIikKbGlicmFyeSgic3RyaW5nciIpCgoKa25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG89VFJVRSwgd2FybmluZz1GQUxTRSwgbWVzc2FnZT1UUlVFKQonJSFpbiUnIDwtIGZ1bmN0aW9uKHgseSkhKCclaW4lJyh4LHkpKQpgYGAKCmBgYHtyfQpwX3RhYmxlIDwtIGZ1bmN0aW9uKHRhYl9kYXRhLCAuLi4pIHsKICB0YWJfZGF0YV8yIDwtIGRlcGFyc2Uoc3Vic3RpdHV0ZSh0YWJfZGF0YSkpCiAgCiAgdGFibGVfcCA8LSBkby5jYWxsKENyZWF0ZVRhYmxlT25lLCAKICAgICAgICAgICAgICAgICAgICAgbGlzdChkYXRhID0gYXMubmFtZSh0YWJfZGF0YV8yKSwgaW5jbHVkZU5BID0gVFJVRSwgLi4uKSkKICB0YWJsZV9wX291dCA8LSBwcmludCh0YWJsZV9wLAogICAgICAgICAgICAgICAgICAgICAgIHNob3dBbGxMZXZlbHMgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgIHByaW50VG9nZ2xlID0gRkFMU0UpCiAga2FibGUodGFibGVfcF9vdXQsCiAgICAgICAgYWxpZ24gPSAiYyIpCn0KYGBgCgpgYGB7cn0KdW5pX3ZhciA8LSBmdW5jdGlvbih0ZXN0X3ZhciwgZGF0YV9pbXApIHsKCiAgICAgICAgICAgICAgICAKICAgICAgICBjYXQoIl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18iKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiICAgXG4jIyIsIHRlc3RfdmFyKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyIpCiAgICAgICAgY2F0KCJcbiIpCgogICAgICAgIAogICAgICAgIGYgPC0gYXMuZm9ybXVsYShwYXN0ZSgiU3VydihEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMsIFBVRl9WSVRBTF9TVEFUVVMgPT0gMCkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcy5uYW1lKHRlc3RfdmFyKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwID0gIiB+ICIgKSkKICAgICAgICAKICAgICAgICBkYXRhX2ltcF8yIDwtIGRlcGFyc2Uoc3Vic3RpdHV0ZShkYXRhX2ltcCkpCgogICAgICAgIGttX2ZpdCA8LSBkby5jYWxsKCJzdXJ2Zml0IiwgbGlzdChmb3JtdWxhID0gZiwgZGF0YSA9IGFzLm5hbWUoZGF0YV9pbXBfMikpKQoKICAgICAgICBwcmludChrbV9maXQpCiAgICAgICAgY2F0KCJcbiIpCgogICAgICAgIHByaW50KHN1bW1hcnkoa21fZml0LCB0aW1lcyA9IGMoMTIsIDI0LCAzNiwgNDgsIDYwLCAxMjApKSkKICAgICAgICBjYXQoIlxuIikKCgogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiICAgXG4jIyBVbml2YXJpYWJsZSBDb3ggUHJvcG9ydGlvbmFsIEhhemFyZCBNb2RlbCBmb3I6ICIsIHRlc3RfdmFyKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiXG4iKQoKCiAgICAgICAgbl9sZXZlbHMgPC0gbmxldmVscyhkYXRhX2ltcFtbdGVzdF92YXJdXSkKCiAgICAgICAgaWYobl9sZXZlbHMgPT0gMSl7CiAgICAgICAgICAgICAgICBwcmludCgiT25seSBvbmUgbGV2ZWwsIG5vIENveCBtb2RlbCBwZXJmb3JtZWQiKQogICAgICAgICAgICAgICAgY2F0KCJcbiIpCgogICAgICAgIH0gZWxzZSB7CgoKICAgICAgICAgICAgICAgIGNveF9maXQgPC0gZG8uY2FsbCgiY294cGgiLCBsaXN0KGZvcm11bGEgPSBmLCBkYXRhID0gYXMubmFtZShkYXRhX2ltcF8yKSkpCgogICAgICAgICAgICAgICAgcHJpbnQoc3VtbWFyeShjb3hfZml0KSkKICAgICAgICAgICAgICAgIGNhdCgiXG4iKQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBkby5jYWxsKCJnZ2ZvcmVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0KG1vZGVsID0gY294X2ZpdCwgZGF0YSA9IGFzLm5hbWUoZGF0YV9pbXBfMikpKQoKCiAgICAgICAgfQoKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIiAgIFxuIyMgVW5hZGp1c3RlZCBLYXBsYW4gTWVpZXIgT3ZlcmFsbCBTdXJ2aXZhbCBDdXJ2ZSBmb3I6ICIsIHRlc3RfdmFyKQoKCiAgICAgICAgcCA8LSBkby5jYWxsKCJnZ3N1cnZwbG90IiwKICAgICAgICAgICAgICAgICAgICAgbGlzdChmaXQgPSBrbV9maXQsIGRhdGEgPSBhcy5uYW1lKGRhdGFfaW1wXzIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAiamNvIiwgY2Vuc29yID0gRkFMU0UsIGxlZ2VuZCA9ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZXR5cGUgPSAic3RyYXRhIiwgeGxhYiA9ICJUaW1lIChNb250aHMpIikpCgogICAgICAgIHByaW50KHApCgp9CgpgYGAKCmBgYHtyIGNodW5rMiwgY2FjaGU9VFJVRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRSwgcmVzdWx0cz0naGlkZSd9CmNvbC53aWR0aCA8LSBjKDM3LCAxMCwgMSwgMSwgMywgMSwgMiwgMSwgMiwgMSwgMSwgMSwgMSwgMSwgMSwgOCwgMiwgMiwgMiwgNCwgNCwgMSwgNCwgMSwgMSwKICAgICAgICAgICAgICAgMSwgMywgMiwgMiwgOCwgMiwgNSwgNSwgNSwgNCwgNSwgNSwgNSw0LCAyLCAxLCAyLCAxLCAzLCAxLCAxLCAxLCAxLCAxLCAxLCAzLAogICAgICAgICAgICAgICAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCA2LCA4LAogICAgICAgICAgICAgICA4LCA4LCAyLCAxLCAxLCAxLCAxLCA4LCAxLCAxLCA4LCAxLCAxLCAyLCAyLCA1LCAyLCA1LCAzLCAxLCAzLCAxLCA4LCA4LCAyLCA4LAogICAgICAgICAgICAgICAyLCA4LCAyLCAyLCAxLCA4LCAxLCAxLCAxLCAxLCAxLCA4LCAxLCAyLCAyLCAyLCAyLCAyLCAxLCAxLCAxLCAyLCAxLCAzLCAxLCAxLAogICAgICAgICAgICAgICAxLCAxLCAxLCAxLCAxLCAxLCAxKQoKY29sLm5hbWVzLmFiciA8LSBjKCJQVUZfQ0FTRV9JRCIsICJQVUZfRkFDSUxJVFlfSUQiLCAiRkFDSUxJVFlfVFlQRV9DRCIsICJGQUNJTElUWV9MT0NBVElPTl9DRCIsCiAgICAgICAgICAgICAgICAgICAiQUdFIiwgIlNFWCIsICJSQUNFIiwgIlNQQU5JU0hfSElTUEFOSUNfT1JJR0lOIiwgIklOU1VSQU5DRV9TVEFUVVMiLAogICAgICAgICAgICAgICAgICAgIk1FRF9JTkNfUVVBUl8wMCIsICJOT19IU0RfUVVBUl8wMCIsICJVUl9DRF8wMyIsICJNRURfSU5DX1FVQVJfMTIiLCAiTk9fSFNEX1FVQVJfMTIiLAogICAgICAgICAgICAgICAgICAgIlVSX0NEXzEzIiwgIkNST1dGTFkiLCAiQ0RDQ19UT1RBTF9CRVNUIiwgIlNFUVVFTkNFX05VTUJFUiIsICJDTEFTU19PRl9DQVNFIiwKICAgICAgICAgICAgICAgICAgICJZRUFSX09GX0RJQUdOT1NJUyIsICJQUklNQVJZX1NJVEUiLCAiTEFURVJBTElUWSIsICJISVNUT0xPR1kiLCAiQkVIQVZJT1IiLCAiR1JBREUiLAogICAgICAgICAgICAgICAgICAgIkRJQUdOT1NUSUNfQ09ORklSTUFUSU9OIiwgIlRVTU9SX1NJWkUiLCAiUkVHSU9OQUxfTk9ERVNfUE9TSVRJVkUiLAogICAgICAgICAgICAgICAgICAgIlJFR0lPTkFMX05PREVTX0VYQU1JTkVEIiwgIkRYX1NUQUdJTkdfUFJPQ19EQVlTIiwgIlJYX1NVTU1fRFhTVEdfUFJPQyIsICJUTk1fQ0xJTl9UIiwKICAgICAgICAgICAgICAgICAgICJUTk1fQ0xJTl9OIiwgIlROTV9DTElOX00iLCAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCAiVE5NX1BBVEhfVCIsICJUTk1fUEFUSF9OIiwgIlROTV9QQVRIX00iLAogICAgICAgICAgICAgICAgICAgIlROTV9QQVRIX1NUQUdFX0dST1VQIiwgIlROTV9FRElUSU9OX05VTUJFUiIsICJBTkFMWVRJQ19TVEFHRV9HUk9VUCIsICJDU19NRVRTX0FUX0RYIiwKICAgICAgICAgICAgICAgICAgICJDU19NRVRTX0VWQUwiLCAiQ1NfRVhURU5TSU9OIiwgIkNTX1RVTU9SX1NJWkVFWFRfRVZBTCIsICJDU19NRVRTX0RYX0JPTkUiLCAiQ1NfTUVUU19EWF9CUkFJTiIsCiAgICAgICAgICAgICAgICAgICAiQ1NfTUVUU19EWF9MSVZFUiIsICJDU19NRVRTX0RYX0xVTkciLCAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT04iLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xIiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzIiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8zIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfNCIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl81IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfNiIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzciLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfOCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzkiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xMCIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xMSIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzEyIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTMiLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTQiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xNSIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzE2IiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzE3IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTgiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xOSIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8yMCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzIxIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMjIiLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMjMiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8yNCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzI1IiwKICAgICAgICAgICAgICAgICAgICJDU19WRVJTSU9OX0xBVEVTVCIsICJEWF9SWF9TVEFSVEVEX0RBWVMiLCAiRFhfU1VSR19TVEFSVEVEX0RBWVMiLCAiRFhfREVGU1VSR19TVEFSVEVEX0RBWVMiLAogICAgICAgICAgICAgICAgICAgIlJYX1NVTU1fU1VSR19QUklNX1NJVEUiLCAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMCIsICJSWF9TVU1NX1NVUkdJQ0FMX01BUkdJTlMiLAogICAgICAgICAgICAgICAgICAgIlJYX1NVTU1fU0NPUEVfUkVHX0xOX1NVUiIsICJSWF9TVU1NX1NVUkdfT1RIX1JFR0RJUyIsICJTVVJHX0RJU0NIQVJHRV9EQVlTIiwgIlJFQURNX0hPU1BfMzBfREFZUyIsCiAgICAgICAgICAgICAgICAgICAiUkVBU09OX0ZPUl9OT19TVVJHRVJZIiwgIkRYX1JBRF9TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9SQURJQVRJT04iLCAiUkFEX0xPQ0FUSU9OX09GX1JYIiwKICAgICAgICAgICAgICAgICAgICJSQURfVFJFQVRfVk9MIiwgIlJBRF9SRUdJT05BTF9SWF9NT0RBTElUWSIsICJSQURfUkVHSU9OQUxfRE9TRV9DR1kiLCAiUkFEX0JPT1NUX1JYX01PREFMSVRZIiwKICAgICAgICAgICAgICAgICAgICJSQURfQk9PU1RfRE9TRV9DR1kiLCAiUkFEX05VTV9UUkVBVF9WT0wiLCAiUlhfU1VNTV9TVVJHUkFEX1NFUSIsICJSQURfRUxBUFNFRF9SWF9EQVlTIiwKICAgICAgICAgICAgICAgICAgICJSRUFTT05fRk9SX05PX1JBRElBVElPTiIsICJEWF9TWVNURU1JQ19TVEFSVEVEX0RBWVMiLCAiRFhfQ0hFTU9fU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fQ0hFTU8iLAogICAgICAgICAgICAgICAgICAgIkRYX0hPUk1PTkVfU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fSE9STU9ORSIsICJEWF9JTU1VTk9fU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fSU1NVU5PVEhFUkFQWSIsCiAgICAgICAgICAgICAgICAgICAiUlhfU1VNTV9UUk5TUExOVF9FTkRPIiwgIlJYX1NVTU1fU1lTVEVNSUNfU1VSX1NFUSIsICJEWF9PVEhFUl9TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9PVEhFUiIsCiAgICAgICAgICAgICAgICAgICAiUEFMTElBVElWRV9DQVJFIiwgIlJYX1NVTU1fVFJFQVRNRU5UX1NUQVRVUyIsICJQVUZfMzBfREFZX01PUlRfQ0QiLCAiUFVGXzkwX0RBWV9NT1JUX0NEIiwKICAgICAgICAgICAgICAgICAgICJEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMiLCAiUFVGX1ZJVEFMX1NUQVRVUyIsICJSWF9IT1NQX1NVUkdfUFJJTV9TSVRFIiwgIlJYX0hPU1BfQ0hFTU8iLAogICAgICAgICAgICAgICAgICAgIlJYX0hPU1BfSU1NVU5PVEhFUkFQWSIsICJSWF9IT1NQX0hPUk1PTkUiLCAiUlhfSE9TUF9PVEhFUiIsICJQVUZfTVVMVF9TT1VSQ0UiLCAiUkVGRVJFTkNFX0RBVEVfRkxBRyIsCiAgICAgICAgICAgICAgICAgICAiUlhfU1VNTV9TQ09QRV9SRUdfTE5fMjAxMiIsICJSWF9IT1NQX0RYU1RHX1BST0MiLCAiUEFMTElBVElWRV9DQVJFX0hPU1AiLCAiVFVNT1JfU0laRV9TVU1NQVJZIiwKICAgICAgICAgICAgICAgICAgICJNRVRTX0FUX0RYX09USEVSIiwgIk1FVFNfQVRfRFhfRElTVEFOVF9MTiIsICJNRVRTX0FUX0RYX0JPTkUiLCAiTUVUU19BVF9EWF9CUkFJTiIsCiAgICAgICAgICAgICAgICAgICAiTUVUU19BVF9EWF9MSVZFUiIsICJNRVRTX0FUX0RYX0xVTkciLCAiTk9fSFNEX1FVQVJfMTYiLCAiTUVEX0lOQ19RVUFSXzE2IiwgIk1FRElDQUlEX0VYUE5fQ09ERSIpCgoKCiNSZWFkIGluIGRhdGEgZm9yIGVhY2ggc3Vic2l0ZQpsaXAgPC0gcmVhZF9md2YoJ05DREJQVUZfTGlwLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCm1lbGFub21hIDwtIHJlYWRfZndmKCdOQ0RCUFVGX01lbGFub21hLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKICAgICAgICAgICAgICAgICAgICAgICAKc2tpbiA8LSByZWFkX2Z3ZignTkNEQlBVRl9PdFNraW4uMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKaG9kZ2V4dHIgPC0gcmVhZF9md2YoJ05DREJQVUZfSG9kZ0V4dHIuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKaG9kZ25kYWwgPC0gcmVhZF9md2YoJ05DREJQVUZfSG9kZ05kYWwuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKTkhMbmRhbCA8LSByZWFkX2Z3ZignTkNEQlBVRl9OSExOZGFsLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCk5ITGV4dHIgPC0gcmVhZF9md2YoJ05DREJQVUZfTkhMRXh0ci4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgoKYnJlYXN0IDwtICByZWFkX2Z3ZignTkNEQlBVRl9CcmVhc3QuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKdnVsdmEgPC0gIHJlYWRfZndmKCdOQ0RCUFVGX1Z1bHZhLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCnZhZ2luYSA8LSAgcmVhZF9md2YoJ05DREJQVUZfVmFnaW5hLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCnBlbmlzIDwtICByZWFkX2Z3ZignTkNEQlBVRl9QZW5pcy4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgojQ29tYmluZSBkYXRhIGZvciBhbGwgc3Vic2l0ZXMKZGF0IDwtIGJpbmRfcm93cyhsaXAsIG1lbGFub21hLCBza2luLCBob2RnZXh0ciwgaG9kZ25kYWwsIE5ITG5kYWwsIGJyZWFzdCwgCiAgICAgICAgICAgICAgICAgdnVsdmEsIHZhZ2luYSwgcGVuaXMsIE5ITGV4dHIpCgpybShsaXAsIG1lbGFub21hLCBza2luLCBob2RnZXh0ciwgaG9kZ25kYWwsIE5ITG5kYWwsIGJyZWFzdCwgdnVsdmEsIHZhZ2luYSwgCiAgIHBlbmlzLCBOSExleHRyKQoKcHJpbV9zaXRlX3RleHQgPC0gZGF0YV9mcmFtZShQUklNQVJZX1NJVEUgPSBjKAojTkhMIHNpdGVzCiJDMDAwIiwgCiJDMDAxIiwgCiJDMDAyIiwgCiJDMDAzIiwgCiJDMDA0IiwgCiJDMDA1IiwgCiJDMDA2IiwgCiJDMDA4IiwKIkMwMDkiLCAKIkMwMTkiLCAKIkMwMjAiLCAKIkMwMjEiLAoiQzAyMiIsIAoiQzAyMyIsIAoiQzAyNCIsIAoiQzAyOCIsIAoiQzAyOSIsCiJDMDMwIiwKIkMwMzEiLAoiQzAzOSIsIAoiQzA0MCIsIAoiQzA0MSIsIAoiQzA0OCIsCiJDMDQ5IiwgCiJDMDUwIiwgCiJDMDUxIiwgCiJDMDUyIiwgCiJDMDU4IiwgCiJDMDU5IiwKIkMwNjAiLCAKIkMwNjEiLCAKIkMwNjIiLCAKIkMwNjgiLCAKIkMwNjkiLCAKIkMwNzkiLCAgCiJDMDk4IiwKIkMwOTkiLAoiQzExMSIsCiJDMTQyIiwKIkMzMDAiLAoiQzM3OSIsCiJDNDIyIiwKIkM3NzAiLAoiQzc3MSIsCiJDNzcyIiwKIkM3NzMiLAoiQzc3NCIsCiJDNzc1IiwKIkM3NzgiLAoiQzc3OSIpLAoKU0lURV9URVhUID0gYygKIkMwMC4wIEV4dGVybmFsIExpcDogVXBwZXIgTk9TIiwKIkMwMC4xIEV4dGVybmFsIExpcDogTG93ZXIgTk9TIiwKIkMwMC4yIEV4dGVybmFsIExpcDogTk9TIiwKIkMwMC4zIExpcDogVXBwZXIgTXVjb3NhIiwKIkMwMC40IExpcDogTG93ZXIgTXVjb3NhIiwKIkMwMC41IExpcDogTXVjb3NhIE5PUyIsCiJDMDAuNiBMaXA6IENvbW1pc3N1cmUiLAoiQzAwLjggTGlwOiBPdmVybGFwcGluZyIsCiJDMDAuOSBMaXAgTk9TIiwKIkMwMS45IFRvbmd1ZTogQmFzZSBOT1MiLAoiQzAyLjAgVG9uZ3VlOiBEb3JzYWwgTk9TIiwKIkMwMi4xIFRvbmd1ZTogQm9yZGVyLCBUaXAiLAoiQzAyLjIgVG9uZ3VlOiBWZW50cmFsIE5PUyIsCiJDMDIuMyBUb25ndWU6IEFudGVyaW9yIE5PUyIsCiJDMDIuNCBMaW5ndWFsIFRvbnNpbCIsCiJDMDIuOCBUb25ndWU6IE92ZXJsYXBwaW5nIiwKIkMwMi45IFRvbmd1ZTogTk9TIiwKIkMwMy4wIEd1bTogVXBwZXIiLAoiQzAzLjEgR3VtOiBMb3dlciIsCiJDMDMuOSBHdW0gTk9TIiwKIkMwNC4wIE1vdXRoOiBBbnRlcmlvciBGbG9vciIsCiJDMDQuMSBNb3V0aDogTGF0ZXJhbCBGbG9vciIsCiJDMDQuOCBNb3V0aDogT3ZlcmxhcHBpbmcgRmxvb3IiLAoiQzA0LjkgRmxvb3Igb2YgTW91dGggTk9TIiwKIkMwNS4wIEhhcmQgUGFsYXRlIiwKIkMwNS4xIFNvZnQgUGFsYXRlIE5PUyIsCiJDMDUuMiBVdnVsYSIsCiJDMDUuOCBQYWxhdGU6IE92ZXJsYXBwaW5nIiwKIkMwNS45IFBhbGF0ZSBOT1MiLAoiQzA2LjAgQ2hlZWsgTXVjb3NhIiwKIkMwNi4xIE1vdXRoOiBWZXN0aWJ1bGUiLAoiQzA2LjIgUmV0cm9tb2xhciBBcmVhIiwKIkMwNi44IE1vdXRoOiBPdGhlciBPdmVybGFwcGluZyIsCiJDMDYuOSBNb3V0aCBOT1MiLAoiQzA3LjkgUGFyb3RpZCBHbGFuZCIsCiAgIkMwOS44IFRvbnNpbDogT3ZlcmxhcHBpbmciLAogICJDMDkuOSBUb25zaWwgTk9TIiwKICAiQzExLjEgTmFzb3BoYXJ5bng6IFBvc3RlciBXYWxsIiwgCiAgIkMxNC4yIFdhbGRleWVyIFJpbmciLAogICJDMzAuMCBOYXNhbCBDYXZpdHkiLAogICJDMzcuOSBUaHltdXMiLAogICJDNDIuMiBTcGxlZW4iLAogICJDNzcuMCBMeW1waCBOb2RlczogSGVhZEZhY2VOZWNrIiwKICAiQzc3LjEgSW50cmF0aG9yYWNpYyBMeW1waCBOb2RlcyIsCiAgIkM3Ny4yIEludHJhLWFiZG9taW5hbCBMeW1waE5vZGVzIiwKICAiQzc3LjMgTHltcGggTm9kZXMgb2YgYXhpbGxhIG9yIGFybSAiLAogICJDNzcuNCBMeW1waCBOb2RlczogTGVnIiwKICAiQzc3LjUgUGVsdmljIEx5bXBoIE5vZGVzIiwKICAiQzc3LjggTHltcGggTm9kZXM6IG11bHRpcGxlIHJlZ2lvbiIsCiAgIkM3Ny45IEx5bXBoIE5vZGUgTk9TIikpCgoKZGF0IDwtIG1lcmdlKGRhdCwgcHJpbV9zaXRlX3RleHQsIGJ5ID0gIlBSSU1BUllfU0lURSIsIGFsbC54ID0gVFJVRSkgCgpybShwcmltX3NpdGVfdGV4dCkKCiMgY29udmVydCBudW1lcmljIHZhcmlhYmxlcyBmcm9tIGNoYXJhY3RlciBjbGFzcyB0byBudW1lcmljIGNsYXNzCm51bV92YXJzIDwtIGMoIkFHRSIsICJDUk9XRkxZIiwgIlRVTU9SX1NJWkUiLCAiRFhfU1RBR0lOR19QUk9DX0RBWVMiLCAiRFhfUlhfU1RBUlRFRF9EQVlTIiwgIkRYX1NVUkdfU1RBUlRFRF9EQVlTIiwKICAgICAgICAgICAgICAiRFhfREVGU1VSR19TVEFSVEVEX0RBWVMiLCAiU1VSR19ESVNDSEFSR0VfREFZUyIsICJEWF9SQURfU1RBUlRFRF9EQVlTIiwgICJSQURfUkVHSU9OQUxfRE9TRV9DR1kiLAogICAgICAgICAgICAgICJSQURfQk9PU1RfRE9TRV9DR1kiLCAiUkFEX0VMQVBTRURfUlhfREFZUyIsICJEWF9TWVNURU1JQ19TVEFSVEVEX0RBWVMiLCAiRFhfQ0hFTU9fU1RBUlRFRF9EQVlTIiwgCiAgICAgICAgICAgICAgIkRYX0hPUk1PTkVfU1RBUlRFRF9EQVlTIiwgIkRYX09USEVSX1NUQVJURURfREFZUyIsICJEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMiLAogICAgICAgICAgICAgICJSQURfTlVNX1RSRUFUX1ZPTCIpCgpkYXRbbnVtX3ZhcnNdIDwtIGxhcHBseShkYXRbbnVtX3ZhcnNdLCBhcy5udW1lcmljKQoKCiMgY29udmVydCBmYWN0b3IgdmFyaWFibGVzIGZyb20gY2hhcmFjdGVyIGNsYXNzIHRvIGZhY3RvciBjbGFzcwp2YXJzIDwtIG5hbWVzKGRhdCkKZmFjdF92YXJzIDwtIHZhcnNbISh2YXJzICVpbiUgbnVtX3ZhcnMpXSAjIGJhc2ljYWxseSBhbGwgb2YgdGhlIG5vbi1udW1lcmljcwoKZGF0W2ZhY3RfdmFyc10gPC0gbGFwcGx5KGRhdFtmYWN0X3ZhcnNdLCBhcy5jaGFyYWN0ZXIpCmRhdFtmYWN0X3ZhcnNdIDwtIGxhcHBseShkYXRbZmFjdF92YXJzXSwgYXMuZmFjdG9yKQoKZGF0IDwtIGRhdCAlPiUKICAgICAgICBtdXRhdGUoRkFDSUxJVFlfVFlQRV9GID0gZmN0X3JlY29kZShGQUNJTElUWV9UWVBFX0NELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb21tdW5pdHkgQ2FuY2VyIFByb2dyYW0iID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb21wcmVoZW5zaXZlIENvbW0gQ2EgUHJvZ3JhbSIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFjYWRlbWljL1Jlc2VhcmNoIFByb2dyYW0iID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnRlZ3JhdGVkIE5ldHdvcmsgQ2EgUHJvZ3JhbSIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk90aGVyIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShGQUNJTElUWV9MT0NBVElPTl9GID0gZmN0X3JlY29kZShGQUNJTElUWV9MT0NBVElPTl9DRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTmV3IEVuZ2xhbmQiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNaWRkbGUgQXRsYW50aWMiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTb3V0aCBBdGxhbnRpYyIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVhc3QgTm9ydGggQ2VudHJhbCIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVhc3QgU291dGggQ2VudHJhbCIgPSAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldlc3QgTm9ydGggQ2VudHJhbCIgPSAiNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldlc3QgU291dGggQ2VudHJhbCIgPSAiNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1vdW50YWluIiA9ICI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGFjaWZpYyIgPSAiOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm91dCBvZiBVUyIgPSAiMCIpKSAlPiUKICAgICAgICBtdXRhdGUoRkFDSUxJVFlfR0VPR1JBUEhZID0gZmN0X2NvbGxhcHNlKEZBQ0lMSVRZX0xPQ0FUSU9OX0NELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vcnRoZWFzdCIgPSBjKCIxIiwgIjIiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTb3V0aCIgPSBjKCIzIiwgIjciKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNaWR3ZXN0IiA9IGMoIjQiLCAiNSIsICI2IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2VzdCIgPSBjKCI4IiwgIjkiKSkpICU+JQogICAgICAgIG11dGF0ZShBR0VfRiA9IGN1dChBR0UsIGMoMCwgNTQsIDY0LCA3NCwgMTAwKSkpICU+JQogICAgICAgIG11dGF0ZShBR0VfNDAgPSBjdXQoQUdFLCBjKDAsIDQwLCAxMDApKSkgJT4lCiAgICAgICAgbXV0YXRlKFNFWF9GID0gZmN0X3JlY29kZShTRVgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1hbGUiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGZW1hbGUiID0gIjIiKSkgJT4lCiAgICAgICAgbXV0YXRlKFJBQ0VfRiA9IGZjdF9jb2xsYXBzZShSQUNFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXaGl0ZSIgPSBjKCIwMSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCbGFjayIgPSBjKCIwMiIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBc2lhbiIgPSBjKCIwNCIsICIwNSIsICIwNiIsICIwNyIsICIwOCIsICIxMCIsICIxMSIsICIxMiIsICIxMyIsICIxNCIsICIxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjE2IiwgIjE3IiwgIjIwIiwgIjIxIiwgIjIyIiwgIjI1IiwgIjI2IiwgIjI3IiwgIjI4IiwgIjMwIiwgIjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMzIiLCAiOTYiLCAiOTciKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3RoZXIvVW5rIiA9IGMoIjAzIiwgIjk4IiwgIjk5IikpKSAlPiUKICAgICAgICBtdXRhdGUoSElTUEFOSUMgPSBmY3RfY29sbGFwc2UoU1BBTklTSF9ISVNQQU5JQ19PUklHSU4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZZXMiID0gYygiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyIgPSBjKCIwIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9IGMoIjkiKSkpICU+JQogICAgICAgIG11dGF0ZShJTlNVUkFOQ0VfRiA9IGZjdF9yZWNvZGUoSU5TVVJBTkNFX1NUQVRVUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9uZSIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlByaXZhdGUiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNZWRpY2FpZCIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1lZGljYXJlIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3RoZXIgR292ZXJubWVudCIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKElOU1VSQU5DRV9GID0gZmN0X3JlbGV2ZWwoSU5TVVJBTkNFX0YsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlByaXZhdGUiKSkgJT4lCiAgICAgICAgbXV0YXRlKElOQ09NRV9GID0gZmN0X3JlY29kZShNRURfSU5DX1FVQVJfMTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxlc3MgdGhhbiAkMzgsMDAwIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJDM4LDAwMCAtICQ0Nyw5OTkiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkNDgsMDAwIC0gJDYyLDk5OSIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiQ2MywwMDAgKyIgPSAiNCIpKSAlPiUKICAgICAgICBtdXRhdGUoRURVQ0FUSU9OX0YgPSBmY3RfcmVjb2RlKE5PX0hTRF9RVUFSXzEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjIxJSBvciBtb3JlIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxMyAtIDIwLjklIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI3IC0gMTIuOSUiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxlc3MgdGhhbiA3JSIgPSAiNCIpKSAlPiUKICAgICAgICBtdXRhdGUoVV9SX0YgPSBmY3RfY29sbGFwc2UoVVJfQ0RfMTMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNZXRybyIgPSBjKCIxIiwgIjIiLCAiMyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVXJiYW4iID0gYygiNCIsICI1IiwgIjYiLCAiNyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUnVyYWwiID0gYygiOCIsICI5IikpKSAlPiUKICAgICAgICBtdXRhdGUoQ0xBU1NfT0ZfQ0FTRV9GID0gZmN0X2NvbGxhcHNlKENMQVNTX09GX0NBU0UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbGxfUGFydF9QcmltID0gYygiMTAiLCAiMTEiLCAiMTIiLCAiMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjE0IiwgIjIwIiwgIjIxIiwgIjIyIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdGhlcl9GYWNpbGl0eSA9IGMoIjAwIikpKSAlPiUKICAgICAgICBtdXRhdGUoR1JBREVfRiA9IGZjdF9yZWNvZGUoR1JBREUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR3IgSTogV2VsbCBEaWZmIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHciBJSTogTW9kIERpZmYiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdyIElJSTogUG9vciBEaWZmIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHciBJVjogVW5kaWZmL0FuYXBsYXN0aWMiID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5BL1Vua293biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoSElTVE9MT0dZX0YgPSBmY3RfaW5mcmVxKEhJU1RPTE9HWSkpICU+JQogICAgICAgIG11dGF0ZShISVNUT0xPR1lfRiA9IGZhY3RvcihISVNUT0xPR1lfRikpICU+JQogICAgICAgIG11dGF0ZShISVNUT0xPR1lfRl9MSU0gPSBmY3RfbHVtcChISVNUT0xPR1lfRiwgcHJvcCA9IDAuMDUpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX0NMSU5fVCA9IGZjdF9yZWNvZGUoVE5NX0NMSU5fVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9DTElOX1QgPSBmY3RfcmVsZXZlbChUTk1fQ0xJTl9ULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9DTElOX04gPSBmY3RfcmVjb2RlKFROTV9DTElOX04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fQ0xJTl9NID0gZmN0X3JlY29kZShUTk1fQ0xJTl9NLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX1BBVEhfVCA9IGZjdF9yZWNvZGUoVE5NX1BBVEhfVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9QQVRIX1QgPSBmY3RfcmVsZXZlbChUTk1fUEFUSF9ULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9QQVRIX04gPSBmY3RfcmVjb2RlKFROTV9QQVRIX04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fUEFUSF9NID0gZmN0X3JlY29kZShUTk1fUEFUSF9NLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX0NMSU5fU1RBR0VfR1JPVVAgPSBmY3RfcmVjb2RlKFROTV9DTElOX1NUQUdFX0dST1VQLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX1BBVEhfU1RBR0VfR1JPVVAgPSBmY3RfcmVjb2RlKFROTV9QQVRIX1NUQUdFX0dST1VQLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoTUFSR0lOUyA9IGZjdF9yZWNvZGUoUlhfU1VNTV9TVVJHSUNBTF9NQVJHSU5TLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gUmVzaWR1YWwiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVzaWR1YWwsIE5PUyIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNaWNyb3Njb3BpYyBSZXNpZCIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNYWNyb3Njb3BpYyBSZXNpZCIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb3QgZXZhbHVhYmxlIiA9ICI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIHN1cmciID0gIjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoTUFSR0lOU19ZTiA9IGZjdF9jb2xsYXBzZShSWF9TVU1NX1NVUkdJQ0FMX01BUkdJTlMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlllcyIgPSBjKCIxIiwgIjIiLCAiMyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyIgPSBjKCIwIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIHN1cmcvVW5rL05BIiA9IGMoIjciLCAiOCIsICI5IikpKSAlPiUKICAgICAgICBtdXRhdGUoUkVBRE1fSE9TUF8zMF9EQVlTX0YgPSBmY3RfcmVjb2RlKFJFQURNX0hPU1BfMzBfREFZUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb19TdXJnX29yX05vX1JlYWRtaXQiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVucGxhbl9SZWFkbWl0X1NhbWUiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBsYW5fUmVhZG1pdF9TYW1lIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQbGFuVW5wbGFuX1NhbWUiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjQiKSkgJT4lCiAgICAgICAgbXV0YXRlKFJYX1NVTU1fUkFESUFUSU9OX0YgPSBmY3RfcmVjb2RlKFJYX1NVTU1fUkFESUFUSU9OLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9uZSIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCZWFtIFJhZGlhdGlvbiIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWRpb2FjdGl2ZSBJbXBsYW50cyIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWRpb2lzb3RvcGVzIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJlYW0gKyBJbXAgb3IgSXNvdG9wZXMiID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkaWF0aW9uLCBOT1MiID0gIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoUFVGXzMwX0RBWV9NT1JUX0NEX0YgPSBmY3RfcmVjb2RlKFBVRl8zMF9EQVlfTU9SVF9DRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBbGl2ZV8zMCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVhZF8zMCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoUFVGXzkwX0RBWV9NT1JUX0NEX0YgPSBmY3RfcmVjb2RlKFBVRl85MF9EQVlfTU9SVF9DRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBbGl2ZV85MCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVhZF85MCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT05fRiA9IGZjdF9yZWNvZGUoTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOZWdfTHltcGhWYXNjX0ludiIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQb3NfTHVtcGhWYXNjX0ludiIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoUlhfSE9TUF9TVVJHX0FQUFJfMjAxMF9GID0gZmN0X3JlY29kZShSWF9IT1NQX1NVUkdfQVBQUl8yMDEwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb19TdXJnIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUm9ib3RfQXNzaXN0IiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUm9ib3RfdG9fT3BlbiIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVuZG9fTGFwIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW5kb19MYXBfdG9fT3BlbiIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9wZW5fVW5rbm93biIgPSAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKEFsbCA9ICJBbGwiKSAlPiUKICAgICAgICBtdXRhdGUoQWxsID0gZmFjdG9yKEFsbCkpICU+JQogICAgICAgIG11dGF0ZShSRUFTT05fRk9SX05PX1NVUkdFUllfRiA9IGZjdF9yZWNvZGUoUkVBU09OX0ZPUl9OT19TVVJHRVJZLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgcGVyZm9ybWVkIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIG5vdCByZWNvbW1lbmRlZCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gc3VyZyBkdWUgdG8gcHQgZmFjdG9ycyIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gc3VyZywgcHQgZGllZCIgPSAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyByZWMsIG5vdCBkb25lIiA9ICI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHJlYywgcHQgcmVmdXNlZCIgPSAiNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyByZWMsIHVuayBpZiBkb25lIiA9ICI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShTVVJHRVJZX1lOID0gaWZlbHNlKFJFQVNPTl9GT1JfTk9fU1VSR0VSWSA9PSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJFQVNPTl9GT1JfTk9fU1VSR0VSWSA9PSAiOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVa24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8iKSkpICU+JQogICAgICAgIG11dGF0ZShTVVJHX1RGID0gY2FzZV93aGVuKFNVUkdFUllfWU4gPT0gIlllcyIgfiBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVUkdFUllfWU4gPT0gIk5vIiB+IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUgfiBOQSkpICAlPiUKICAgICAgICBtdXRhdGUoUkVBU09OX0ZPUl9OT19SQURJQVRJT05fRiA9IGZjdF9yZWNvZGUoUkVBU09OX0ZPUl9OT19SQURJQVRJT04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHBlcmZvcm1lZCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIG5vdCByZWNvbW1lbmRlZCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gUmFkIGR1ZSB0byBwdCBmYWN0b3JzIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBSYWQsIHB0IGRpZWQiID0gIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCByZWMsIG5vdCBkb25lIiA9ICI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgcmVjLCBwdCByZWZ1c2VkIiA9ICI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgcmVjLCB1bmsgaWYgZG9uZSIgPSAiOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoUkFESUFUSU9OX1lOID0gaWZlbHNlKFJFQVNPTl9GT1JfTk9fUkFESUFUSU9OID09ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUkVBU09OX0ZPUl9OT19SQURJQVRJT04gPT0gIjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIikpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR1JBRF9TRVFfRiA9IGZjdF9yZWNvZGUoUlhfU1VNTV9TVVJHUkFEX1NFUSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vbmUgb3IgU3VyZyBvciBSYWQiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIGJlZm9yZSBTdXJnIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgYmVmb3JlIFJhZCIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgYmVmb3JlIGFuZCBhZnRlciBTdXJnIiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludHJhb3AgUmFkIiA9ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludHJhb3AgUmFkIHBsdXMgb3RoZXIiID0gIjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR19SQURfU0VRID0gaWZlbHNlKFNVUkdFUllfWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIEFsb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSQURJQVRJT05fWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIEFsb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiTm8iICYgUkFESUFUSU9OX1lOID09ICJObyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFRyZWF0bWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgdGhlbiBTdXJnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyB0aGVuIFJhZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIGJlZm9yZSBhbmQgYWZ0ZXIgU3VyZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPdGhlciIpKSkpKSkpICU+JQogICAgICAgIG11dGF0ZShTVVJHX1JBRF9TRVEgPSBmY3RfcmVsZXZlbChTVVJHX1JBRF9TRVEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIEFsb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgdGhlbiBSYWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIEFsb25lIikpICU+JQogICAgICAgIG11dGF0ZShDSEVNT19ZTiA9IGZjdF9jb2xsYXBzZShSWF9TVU1NX0NIRU1PLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8iID0gYygiMDAiLCAiODIiLCAiODUiLCAiODYiLCAiODciKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlllcyIgPSBjKCIwMSIsICIwMiIsICIwMyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVWtuIiA9IGMoIjg4IiwgIjk5IikpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR19SQURfU0VRX0MgPSBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiWWVzIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiICYgQ0hFTU9fWU4gPT0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnLCBObyByYWQsIE5vIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSQURJQVRJT05fWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCwgTm8gU3VyZywgTm8gQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShTVVJHRVJZX1lOID09ICJObyIgJiBSQURJQVRJT05fWU4gPT0gIk5vIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiICYgQ0hFTU9fWU4gPT0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFN1cmcsIE5vIFJhZCwgTm8gQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMiIgJiBDSEVNT19ZTiA9PSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCB0aGVuIFN1cmcsIE5vIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICIzIiAmIENIRU1PX1lOID09ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgdGhlbiBSYWQsIE5vIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiNCIgJiBDSEVNT19ZTiA9PSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIGJlZm9yZSBhbmQgYWZ0ZXIgU3VyZywgTm8gQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShTVVJHRVJZX1lOID09ICJZZXMiICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIgJiBDSEVNT19ZTiA9PSAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcsIE5vIHJhZCwgWWVzIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJBRElBVElPTl9ZTiA9PSAiWWVzIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiICYgQ0hFTU9fWU4gPT0gIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkLCBObyBTdXJnLCBZZXMgQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFNVUkdFUllfWU4gPT0gIk5vIiAmIFJBRElBVElPTl9ZTiA9PSAiTm8iICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIgJiBDSEVNT19ZTiA9PSAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gU3VyZywgTm8gUmFkLCBZZXMgQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICIyIiAmIENIRU1PX1lOID09ICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHRoZW4gU3VyZywgWWVzIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjMiICYgQ0hFTU9fWU4gPT0gIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyB0aGVuIFJhZCwgWWVzIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICI0IiAmIENIRU1PX1lOID09ICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgYmVmb3JlIGFuZCBhZnRlciBTdXJnLCBZZXMgQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPdGhlciIpKSkpKSkpKSkpKSkpICU+JQogICAgICAgIG11dGF0ZShTVVJHX1JBRF9TRVFfQyA9IGZjdF9pbmZyZXEoU1VSR19SQURfU0VRX0MpKSAlPiUKICAgICAgICBtdXRhdGUoVF9TSVpFID0gYXMubnVtZXJpYyhUVU1PUl9TSVpFKSkgJT4lCiAgICAgICAgbXV0YXRlKFRfU0laRSA9IGlmZWxzZShUX1NJWkUgPT0gMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gVHVtb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPiAwICYgVF9TSVpFIDwgMTAgfCBUX1NJWkUgPT0gOTkxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPCAxIGNtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA+PSAxMCAmIFRfU0laRSA8IDIwIHwgVF9TSVpFID09IDk5MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxLTIgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA+PSAyMCAmIFRfU0laRSA8IDMwIHwgVF9TSVpFID09IDk5MywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMi0zIGNtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID49IDMwICYgVF9TSVpFIDwgNDAgfCBUX1NJWkUgPT0gOTk0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMy00IGNtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA+PSA0MCAmIFRfU0laRSA8IDUwIHwgVF9TSVpFID09IDk5NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI0LTUgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA+PSA1MCAmIFRfU0laRSA8IDYwIHwgVF9TSVpFID09IDk5NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNS02IGNtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID49IDYwICYgVF9TSVpFIDw9IDk4NyB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVF9TSVpFID09IDk4MCB8IFRfU0laRSA9PSA5ODkgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRfU0laRSA9PSA5OTcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIj42IGNtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID09IDk4OCB8IFRfU0laRSA9PSA5OTksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOQV91bmsiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWljcm9zY29waWMgZm9jdXMiKSkpKSkpKSkpKSAlPiUKICAgICAgICBtdXRhdGUoVF9TSVpFID0gZmFjdG9yKFRfU0laRSkpICU+JQogICAgICAgIG11dGF0ZShUX1NJWkUgPSBmY3RfcmVsZXZlbChUX1NJWkUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gVHVtb3IiLCAiTWljcm9zY29waWMgZm9jdXMiLCAiPCAxIGNtIiwgIjEtMiBjbSIsICIyLTMgY20iLCAiMy00IGNtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjQtNSBjbSIsICI1LTYgY20iLCAiPjYgY20iLCAiTkFfdW5rIikpICU+JQogICAgICAgIG11dGF0ZShtZXRzX2F0X2R4ID0gY2FzZV93aGVuKENTX01FVFNfRFhfTFVORyA9PSAiMSIgfiAiTHVuZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NfTUVUU19EWF9CT05FID09ICIxIiB+ICJCb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDU19NRVRTX0RYX0JSQUlOID09ICIxIiB+ICJCcmFpbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NfTUVUU19EWF9MSVZFUiA9PSAiMSIgfiAiTGl2ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUgfiAiTm9uZS9PdGhlci9VbmsvTkEiKSkgJT4lCiAgICAgICAgbXV0YXRlKE1FRElDQUlEX0VYUE5fQ09ERSA9IGZjdF9yZWNvZGUoTUVESUNBSURfRVhQTl9DT0RFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb24tRXhwYW5zaW9uIFN0YXRlIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSmFuIDIwMTQgRXhwYW5zaW9uIFN0YXRlcyIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVhcmx5IEV4cGFuc2lvbiBTdGF0ZXMgKDIwMTAtMTMpIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTGF0ZSBFeHBhbnNpb24gU3RhdGVzICg+IEphbiAyMDE0KSIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cHByZXNzZWQgZm9yIEFnZXMgMCAtIDM5IiA9ICI5IikpICAlPiUKICAgICAgICBtdXRhdGUoRVhQTl9HUk9VUCA9ICBjYXNlX3doZW4oTUVESUNBSURfRVhQTl9DT0RFICAlaW4lIGMoIkphbiAyMDE0IEV4cGFuc2lvbiBTdGF0ZXMiKSAmIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlFQVJfT0ZfRElBR05PU0lTICVpbiUgYygiMjAxNCIsICIyMDE1IikgfiAiUG9zdC1FeHBhbnNpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUNBSURfRVhQTl9DT0RFICAlaW4lIGMoIkphbiAyMDE0IEV4cGFuc2lvbiBTdGF0ZXMiKSAmIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlFQVJfT0ZfRElBR05PU0lTICVpbiUgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMoIjIwMDQiLCAiMjAwNSIsICIyMDA2IiwgIjIwMDciLCAiMjAwOCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIyMDA5IiwgIjIwMTAiLCAiMjAxMSIsICIyMDEyIiwgIjIwMTMiKSB+ICJQcmUtRXhwYW5zaW9uIiwKICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSAgJWluJSBjKCJFYXJseSBFeHBhbnNpb24gU3RhdGVzICgyMDEwLTEzKSIpICYgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWUVBUl9PRl9ESUFHTk9TSVMgJWluJSBjKCIyMDEwIiwgIjIwMTEiLCAiMjAxMiIsICIyMDEzIiwgIjIwMTQiLCAiMjAxNSIpIH4gIlBvc3QtRXhwYW5zaW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgICVpbiUgYygiRWFybHkgRXhwYW5zaW9uIFN0YXRlcyAoMjAxMC0xMykiKSAmIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlFQVJfT0ZfRElBR05PU0lTICVpbiUgYygiMjAwNCIsICIyMDA1IiwgIjIwMDYiLCAiMjAwNyIsICIyMDA4IiwgIjIwMDkiKSB+ICJQcmUtRXhwYW5zaW9uIiwKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSAlaW4lIGMoIk5vbi1FeHBhbnNpb24gU3RhdGUiKSB+ICJQcmUtRXhwYW5zaW9uIiwKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSAlaW4lIGMoIkxhdGUgRXhwYW5zaW9uIFN0YXRlcyAoPiBKYW4gMjAxNCkiKSB+ICJQcmUtRXhwYW5zaW9uIiwKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUNBSURfRVhQTl9DT0RFICVpbiUgYygiTGF0ZSBFeHBhbnNpb24gU3RhdGVzICg+IEphbiAyMDE0KSIpICYgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIGMoIjIwMTQiLCAiMjAxNSIpIH4gIkV4Y2x1ZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUNBSURfRVhQTl9DT0RFID09ICJTdXBwcmVzc2VkIGZvciBBZ2VzIDAgLSAzOSIgfiAiRXhjbHVkZSIpKSAlPiUKICAKICBtdXRhdGUocHJlXzIwMTQgPSBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIGMoIjIwMDQiLCAiMjAwNSIsICIyMDA2IiwgIjIwMDciLCAiMjAwOCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIyMDA5IiwgIjIwMTAiLCAiMjAxMSIsICIyMDEyIiwgIjIwMTMiKSkgJT4lCiAgCiAgbXV0YXRlKG1ldHNfYXRfZHhfRiA9IGlmZWxzZShtZXRzX2F0X2R4ID09ICJOb25lL090aGVyL1Vuay9OQSIsIEZBTFNFLCBUUlVFKSkgJT4lIAogIAogIG11dGF0ZShUeF9ZTiA9IGlmZWxzZShTVVJHX1JBRF9TRVEgPT0gIk5vIFRyZWF0bWVudCIgJiBDSEVNT19ZTiA9PSAiTm8iLCBGQUxTRSwgCiAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShDSEVNT19ZTiA9PSAiVWtuIiwgTkEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSkpKQoKZmFjdF92YXJzXzIgPC0gYygiRkFDSUxJVFlfVFlQRV9GIiwgIkZBQ0lMSVRZX0xPQ0FUSU9OX0YiLCAiQUdFX0YiLCAiU0VYX0YiLCAiUkFDRV9GIiwKICAgICAgICAgICAgICAgICAiSElTUEFOSUMiLCAiSU5TVVJBTkNFX0YiLCAiSU5DT01FX0YiLCAiRURVQ0FUSU9OX0YiLCAiVV9SX0YiLAogICAgICAgICAgICAgICAgICJDRENDX1RPVEFMX0JFU1QiLCAiQ0xBU1NfT0ZfQ0FTRV9GIiwgIllFQVJfT0ZfRElBR05PU0lTIiwgIlBSSU1BUllfU0lURSIsICJISVNUT0xPR1kiLAogICAgICAgICAgICAgICAgICJCRUhBVklPUiIsICJHUkFERV9GIiwgIlROTV9DTElOX1QiLCAiVE5NX0NMSU5fTiIsICJUTk1fQ0xJTl9NIiwKICAgICAgICAgICAgICAgICAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCAiVE5NX1BBVEhfVCIsICJUTk1fUEFUSF9OIiwgIlROTV9QQVRIX00iLCAiVE5NX1BBVEhfU1RBR0VfR1JPVVAiLAogICAgICAgICAgICAgICAgICJNQVJHSU5TIiwgIlJFQURNX0hPU1BfMzBfREFZU19GIiwgIlJYX1NVTU1fUkFESUFUSU9OX0YiLCAiUFVGXzMwX0RBWV9NT1JUX0NEX0YiLAogICAgICAgICAgICAgICAgICJQVUZfOTBfREFZX01PUlRfQ0RfRiIsICJMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTl9GIiwgIlJYX0hPU1BfU1VSR19BUFBSXzIwMTBfRiIsICJtZXRzX2F0X2R4IikKCgpkYXQgPC0gZGF0ICU+JQogICAgICAgIG11dGF0ZV9hdChmYWN0X3ZhcnNfMiwgZnVucyhmYWN0b3IoLikpKQoKYGBgCgoKIyBFeHRyYWN0IERhdGEgb2YgSW50ZXJlc3QKCmBgYHtyfQoKCiMgTm9uLUhvZGdraW4gTHltcGhvbWEgU2l0ZXMKc2l0ZV9jb2RlIDwtIGMoIkMwMDEiLCJDMDk4IiwgIkMwOTkiLCAiQzExMSIsICJDMTQyIiwgIkMzNzkiLCAiQzQyMiIsIkM3NzAiLAoiQzc3MSIsIkM3NzIiLCJDNzczIiwiQzc3NCIsICJDNzc1IiwgIkM3NzgiLCJDNzc5IiwgCiNhZGRpdGlvbmFsIHNpdGVzCiJDMzAwIiwgIkMwMTkiLCAiQzAyMSIsIAoiQzAyOSIsICJDMDMwIiwgIkMwMzkiLCAiQzA0OSIsICJDMDUwIiwgIkMwNTEiLCAiQzA1MiIsICAiQzA1OCIsICJDMDU5IiwgIkMwNjAiLAoiQzA2MSIsICJDMDY5IiwgIkMwMDAiLCAiQzAwMSIsICJDMDAyIiwgIkMwMDMiLCAiQzAwNCIsICJDMDA1IiwgIkMwMDYiLCAiQzAwOCIsCiJDMDA5IiwgIkMwMTkiLCAiQzAyMCIsICJDMDIxIiwgIkMwMjIiLCAiQzAyMyIsICJDMDI0IiwgIkMwMjgiLCAiQzAyOSIsICJDMDMwIiwKIkMwMzEiLCAiQzAzOSIsICJDMDQwIiwgIkMwNDEiLCAiQzA0OSIsICJDMDUwIiwgIkMwNTEiLCAiQzA1MiIsICJDMDU4IiwgIkMwNTkiLAoiQzA2MCIsICJDMDYxIiwgIkMwNjIiLCAiQzA2OCIsICJDMDY5IiwgIkMwNzkiKQoKI215Y29zaXMgZnVuZ29pZGVzLCBTZXphcnkgc3luZHJvbWUsIHN1YmN1dGFuZW91cyBwYW5uaWN1bGl0aXMtbGlrZSBULWNlbGwgbHltcGhvbWEsCiNjdXRhbmVvdXMgVC1jZWxsIGx5bXBob21hLCBOT1MsIHByaW1hcnkgY3V0YW5lb3VzIENEMzArVC1jZWxsIGx5bXBob21hLCAKI05LL1QtY2VsbCBseW1waG9tYSwgcHJpbWFyeSBjdXRhbmVvdXMgZ2FtbWEtZGVsdGEgVC1jZWxsIGx5bXBob21hLCAKI2FuZCBibGFzdGljIE5LIGNlbGwgbHltcGhvbWEsIHJlc3BlY3RpdmVseQpoaXN0b19jb2RlIDwtIGMoIjk3MDAiLCAiOTcwMSIsICI5NzA4IiwgIjk3MDkiLCAiOTcxOCIsICI5NzE5IiwgIjk3MjYiLCAiOTcyNyIpCgpiZWhhdmlvcl9jb2RlIDwtIGMoIjMiKQoKZGF0YSA8LSBkYXQgJT4lCiAgICAgICAgZmlsdGVyKEJFSEFWSU9SICVpbiUgYmVoYXZpb3JfY29kZSkgJT4lCiAgICAgICAgZmlsdGVyKFBSSU1BUllfU0lURSAlaW4lIHNpdGVfY29kZSkgJT4lCiAgICAgICAgZmlsdGVyKEhJU1RPTE9HWSAlaW4lIGhpc3RvX2NvZGUpICU+JQogICAgICAgICNmaWx0ZXIoQUdFID49IDE4KSAlPiUKICAgICAgICBmaWx0ZXIoaXMubmEoUFVGX1ZJVEFMX1NUQVRVUykgPT0gRkFMU0UpICU+JQogICAgICAgIGZpbHRlcihpcy5uYShEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMpID09IEZBTFNFKSAgJT4lCiAgICAgICAgZmlsdGVyKFNFUVVFTkNFX05VTUJFUiA9PSAiMDAiKSAKCmZpbGVfcGF0aCA8LSBjKCIvVXNlcnMvYmVhc3RhdGxpZmUvR29vZ2xlIERyaXZlL1Blbm4vUmVzZWFyY2gvQmFyYmllcmkvTkNEQiIpCnNhdmUoZGF0YSwKICAgICAgZmlsZSA9IHBhc3RlMChmaWxlX3BhdGgsICIvTUZfZGF0YS5SZGEiKSkKYGBgCgpgYGB7ciBsb2FkRGF0YX0KI2xvYWQoIk1GX2RhdGEuUmRhIikKYGBgCgoKRGF0YSBpbmNsdWRpbmcgc2tpbiB0dW1vcnMgd2FzIG9idGFpbmVkIGZyb20gdGhlIE5DQkQgb24gT2N0b2JlciA3LCAyMDE5LiBDYXNlcyB0aGF0IHdlcmUgaW5jbHVkZWQgaW4gdGhpcyBhbmFseXNpcyB3ZXJlIHRob3NlIHdpdGg6CgoxLiBTaXRlIGNvZGVzOiBgciBzaXRlX2NvZGVgCjIuIEhpc3RvbG9neSBjb2RlczogYHIgaGlzdG9fY29kZWAKMy4gQmVoYXZpb3IgY29kZXM6IGByIGJlaGF2aW9yX2NvZGVgCgoKUGF0aWVudHMgd2VyZSBleGNsdWRlZCBpZiB0aGV5IGRpZG4ndCBoYXZlIHZhbHVlcyBmb3IgZWl0aGVyIGZvbGxvdyB1cCBvciB2aXRhbCBzdGF0dXMuCgpQYXRpZW50cyB3ZXJlIGV4Y2x1ZGVkIGlmIHRoZXkgaGFkIHN1cmdlcnkgdG8gYSBkaXN0YW50IHNpdGUgdXNpbmcgYFJYX1NVTU1fU1VSR19PVEhfUkVHRElTYC4gVGhpcyB3YXMgZG9uZSB0byBhdm9pZCBjb25mb3VuZGluZyBvZiBkaWZmZXJlbnQgc3VyZ2ljYWwgcHJvY2VkdXJlcy4gV2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiBzdXJnZXJ5IGF0IHRoZSBwcmltYXJ5IHNpdGUuIFRoZXNlIGRpc3RhbnQgc2l0ZSBzdXJnZXJpZXMgd2VyZSBiZWluZyBjb3VudGVkIGluIHRoZSBzdXJnZXJ5L3JhZGlhdGlvbiBzZXF1ZW5jZSBhbmQgdGh1cyB0byBzaW1wbGlmeSBhbmFseXNpcyB0aGV5IHdlcmUgcmVtb3ZlZC4gCgpgYGB7cn0KCmRhdGEgJT4lCiAgICAgICAgQ3JlYXRlVGFibGVPbmUoZGF0YSA9IC4sCiAgICAgICAgICAgICAgICAgICAgIHZhcnMgPSBjKCJSWF9TVU1NX1NVUkdfT1RIX1JFR0RJUyIpLAogICAgICAgICAgICAgICAgICAgICBpbmNsdWRlTkEgPSBUUlVFKSAlPiUKICAgICAgICBwcmludCguLAogICAgICAgICAgICAgIHNob3dBbGxMZXZlbHMgPSBUUlVFKQoKZGF0YSA8LSBkYXRhICU+JQogICAgICAgIGZpbHRlcihSWF9TVU1NX1NVUkdfT1RIX1JFR0RJUyA9PSAiMCIpIApgYGAKCgpSYWNlIHdhcyBncm91cGVkIGFzIHdoaXRlLCBibGFjaywgYXNpYW4sIG90aGVyL3Vua25vd24KU3RhZ2Ugd2FzIGdyb3VwZWQgaW50byAwLCBJLCBJSSwgSUlJLCBJViwgTkFfVW5rbm93biwgc3RhZ2UgMCB3YXMgcmVtb3ZlZApXaGV0aGVyIHN1cmdlcnkgd2FzIHBlcmZvcm1lZCB3YXMgYmFzZWQgb24gdGhlIGBSRUFTT05fRk9SX05PX1NVUkdFUllgIHZhcmlhYmxlLiBUaGUgYFNVUkdFUllfWU5gIHZhcmlhYmxlIHdhcyBjbGFzc2lmaWVkIGFzICdZZXMnLCAnTm8nLCBvciAnVW5rbm93bicuCgoKV2hldGhlciByYWRpYXRpb24gd2FzIHBlcmZvcm1lZCB3YXMgYmFzZWQgb24gdGhlIGBSRUFTT05fRk9SX05PX1JBRElBVElPTmAgdmFyaWFibGUuIFRoZSBgUkFESUFUSU9OX1lOYCB2YXJpYWJsZSB3YXMgY2xhc3NpZmllZCBhcyAnWWVzJywgJ05vJywgb3IgJ1Vua25vd24nLgoKCgojVGFibGUgb2YgdmFyaWFibGVzIGZvciBhbGwgY2FzZXM6CgpgYGB7cn0KCnBfdGFibGUoZGF0YSwKICAgICAgICB2YXJzID0gYygiRkFDSUxJVFlfVFlQRV9GIiwgIkZBQ0lMSVRZX0xPQ0FUSU9OX0YiLCAiRkFDSUxJVFlfR0VPR1JBUEhZIiwgICJBR0UiLCAiQUdFX0YiLCAiQUdFXzQwIiwKICAgICAgICAgICAgICAgICAiU0VYX0YiLCAiUkFDRV9GIiwgIkhJU1BBTklDIiwgIklOU1VSQU5DRV9GIiwgCiAgICAgICAgICAgICAgICAgIklOQ09NRV9GIiwgIkVEVUNBVElPTl9GIiwgIlVfUl9GIiwgIkNST1dGTFkiLCAiQ0RDQ19UT1RBTF9CRVNUIiwKICAgICAgICAgICAgICAgICAiU0lURV9URVhUIiwgIkJFSEFWSU9SIiwgIkdSQURFX0YiLAogICAgICAgICAgICAgICAgICJEWF9TVEFHSU5HX1BST0NfREFZUyIsICJUTk1fQ0xJTl9UIiwgIlROTV9DTElOX04iLCAiVE5NX0NMSU5fTSIsCiAgICAgICAgICAgICAgICAgIlROTV9DTElOX1NUQUdFX0dST1VQIiwgIlROTV9QQVRIX1QiLCAiVE5NX1BBVEhfTiIsICJUTk1fUEFUSF9NIiwKICAgICAgICAgICAgICAgICAiVE5NX1BBVEhfU1RBR0VfR1JPVVAiLCAiRFhfUlhfU1RBUlRFRF9EQVlTIiwgIkRYX1NVUkdfU1RBUlRFRF9EQVlTIiwKICAgICAgICAgICAgICAgICAiRFhfREVGU1VSR19TVEFSVEVEX0RBWVMiLCAiTUFSR0lOUyIsICJNQVJHSU5TX1lOIiwgIlNVUkdfRElTQ0hBUkdFX0RBWVMiLAogICAgICAgICAgICAgICAgICJSRUFETV9IT1NQXzMwX0RBWVNfRiIsICJSWF9TVU1NX1JBRElBVElPTl9GIiwgIlBVRl8zMF9EQVlfTU9SVF9DRF9GIiwKICAgICAgICAgICAgICAgICAiUFVGXzkwX0RBWV9NT1JUX0NEX0YiLCAiRFhfTEFTVENPTlRBQ1RfREVBVEhfTU9OVEhTIiwgCiAgICAgICAgICAgICAgICAgIkxZTVBIX1ZBU0NVTEFSX0lOVkFTSU9OX0YiLCAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMF9GIiwgIlNVUkdfUkFEX1NFUSIsCiAgICAgICAgICAgICAgICAgIlNVUkdfUkFEX1NFUV9DIiwgIlNVUkdFUllfWU4iLCAiUkFESUFUSU9OX1lOIiwgIkNIRU1PX1lOIiwgIm1ldHNfYXRfZHgiLAogICAgICAgICAgICAgICAgICJNRURJQ0FJRF9FWFBOX0NPREUiLCAiRVhQTl9HUk9VUCIpKQoKCgpwX3RhYmxlKG5vX0V4Y2x1ZGVzLAogICAgICAgIHZhcnMgPSBjKCJGQUNJTElUWV9UWVBFX0YiLCAiRkFDSUxJVFlfTE9DQVRJT05fRiIsICJGQUNJTElUWV9HRU9HUkFQSFkiLCAgIkFHRSIsICJBR0VfRiIsICJBR0VfNDAiLAogICAgICAgICAgICAgICAgICJTRVhfRiIsICJSQUNFX0YiLCAiSElTUEFOSUMiLCAiSU5TVVJBTkNFX0YiLCAKICAgICAgICAgICAgICAgICAiSU5DT01FX0YiLCAiRURVQ0FUSU9OX0YiLCAiVV9SX0YiLCAiQ1JPV0ZMWSIsICJDRENDX1RPVEFMX0JFU1QiLAogICAgICAgICAgICAgICAgICJTSVRFX1RFWFQiLCAiQkVIQVZJT1IiLCAiR1JBREVfRiIsCiAgICAgICAgICAgICAgICAgIkRYX1NUQUdJTkdfUFJPQ19EQVlTIiwgIlROTV9DTElOX1QiLCAiVE5NX0NMSU5fTiIsICJUTk1fQ0xJTl9NIiwKICAgICAgICAgICAgICAgICAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCAiVE5NX1BBVEhfVCIsICJUTk1fUEFUSF9OIiwgIlROTV9QQVRIX00iLAogICAgICAgICAgICAgICAgICJUTk1fUEFUSF9TVEFHRV9HUk9VUCIsICJEWF9SWF9TVEFSVEVEX0RBWVMiLCAiRFhfU1VSR19TVEFSVEVEX0RBWVMiLAogICAgICAgICAgICAgICAgICJEWF9ERUZTVVJHX1NUQVJURURfREFZUyIsICJNQVJHSU5TIiwgIk1BUkdJTlNfWU4iLCAiU1VSR19ESVNDSEFSR0VfREFZUyIsCiAgICAgICAgICAgICAgICAgIlJFQURNX0hPU1BfMzBfREFZU19GIiwgIlJYX1NVTU1fUkFESUFUSU9OX0YiLCAiUFVGXzMwX0RBWV9NT1JUX0NEX0YiLAogICAgICAgICAgICAgICAgICJQVUZfOTBfREFZX01PUlRfQ0RfRiIsICJEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMiLCAKICAgICAgICAgICAgICAgICAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT05fRiIsICJSWF9IT1NQX1NVUkdfQVBQUl8yMDEwX0YiLCAiU1VSR19SQURfU0VRIiwKICAgICAgICAgICAgICAgICAiU1VSR19SQURfU0VRX0MiLCAiVF9TSVpFIiwgIlNVUkdFUllfWU4iLCAiUkFESUFUSU9OX1lOIiwgIkNIRU1PX1lOIiwgIm1ldHNfYXRfZHgiLAogICAgICAgICAgICAgICAgICJNRURJQ0FJRF9FWFBOX0NPREUiKSwgCiAgICAgICAgc3RyYXRhID0gIkVYUE5fR1JPVVAiKQoKCnBfdGFibGUoZGF0YSwKICAgICAgICB2YXJzID0gYygiWUVBUl9PRl9ESUFHTk9TSVMiKSwKICAgICAgICBzdHJhdGEgPSBjKCJNRURJQ0FJRF9FWFBOX0NPREUiKSkKYGBgCgoKYGBge3J9CgpwcmVFeHBNZWRpY2FyZSAgPC0gbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUHJlLUV4cGFuc2lvbiIgJiBJTlNVUkFOQ0VfRiA9PSAiTWVkaWNhcmUiKSkKcG9zdEV4cE1lZGljYXJlIDwtIG5yb3coZGF0YSAlPiUgZmlsdGVyKEVYUE5fR1JPVVAgPT0gIlBvc3QtRXhwYW5zaW9uIiAmIElOU1VSQU5DRV9GID09ICJNZWRpY2FyZSIpKQoKIyBwID0gMC4yNSB3aGVuIGNvbXBhcmluZyBjaGFuZ2UgaW4gcHJvcG9ydGlvbiBvZiBwYXRpZW50cyB3aXRoIE1lZGljYXJlIGJlZm9yZSBhbmQgYWZ0ZXIgQUNBIGV4cGFuc2lvbgpwcm9wLnRlc3QoYyhwcmVFeHBNZWRpY2FyZSwgcG9zdEV4cE1lZGljYXJlKSwgCiAgICAgICAgICBjKG5yb3coZGF0YSAlPiUgZmlsdGVyKEVYUE5fR1JPVVAgPT0gIlByZS1FeHBhbnNpb24iKSksIG5yb3coZGF0YSAlPiUgZmlsdGVyKEVYUE5fR1JPVVAgPT0gIlBvc3QtRXhwYW5zaW9uIikpKSkKCnByZUV4cE5vSW5zdXJhbmNlIDwtIG5yb3coZGF0YSAlPiUgZmlsdGVyKEVYUE5fR1JPVVAgPT0gIlByZS1FeHBhbnNpb24iKSAlPiUgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoSU5TVVJBTkNFX0YgPT0gIk5vbmUiKSkKcG9zdEV4cE5vSW5zdXJhbmNlIDwtIG5yb3coZGF0YSAlPiUgZmlsdGVyKEVYUE5fR1JPVVAgPT0gIlBvc3QtRXhwYW5zaW9uIikgJT4lIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcihJTlNVUkFOQ0VfRiA9PSAiTm9uZSIpKQoKIyBTaWduaWZpY2FudCBkZWNyZWFzZSBpbiB0aGUgb3ZlcmFsbCBwcm9wb3J0aW9uIG9mIHBhdGllbnRzIHdpdGhvdXQgaW5zdXJhbmNlIGFmdGVyIEFDQSBleHBhbnNpb24gCnByb3AudGVzdChjKHByZUV4cE5vSW5zdXJhbmNlLCBwb3N0RXhwTm9JbnN1cmFuY2UpLCAKICAgICAgICAgIGMobnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUHJlLUV4cGFuc2lvbiIpKSwgbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUG9zdC1FeHBhbnNpb24iKSkpKQoKcF90YWJsZShub19FeGNsdWRlcywgc3RyYXRhID0gIkVYUE5fR1JPVVAiLCB2YXJzID0gIkRYX1JYX1NUQVJURURfREFZUyIpCgpkYXRhIDwtIGRhdGEgJT4lIG11dGF0ZShJbnN1cmVkID0gSU5TVVJBTkNFX0YgIT0gIlVua25vd24iKQoKYGBgCgoKCgojS2FwbGFuIE1laWVyIEFuYWx5c2lzCgoKIyNBbGwKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIkFsbCIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0ZhY2lsaXR5IFR5cGUKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRkFDSUxJVFlfVFlQRV9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjRmFjaWxpdHkgTG9jYXRpb24KCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIkZBQ0lMSVRZX0xPQ0FUSU9OX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNGYWNpbGl0eSBHZW9ncmFwaHkKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIkZBQ0lMSVRZX0dFT0dSQVBIWSIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0FnZSBHcm91cAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQUdFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNBZ2UgR3JvdXAKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQUdFXzQwIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjR2VuZGVyCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJTRVhfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1JBQ0VfRgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiUkFDRV9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjSGlzcGFuaWMKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIkhJU1BBTklDIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjSW5zdXJhbmNlIFN0YXR1cwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiSU5TVVJBTkNFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNPdmVyYWxsIFN1cnZpdmFsIHByZS9wb3N0LUFDQSBleHBhbnNpb24KCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIkVYUE5fR1JPVVAiLCBkYXRhX2ltcCA9IG5vX0V4Y2x1ZGVzKQpgYGAKCgo8IS0tICMjSW5jb21lIC0tPgoKPCEtLSBgYGB7cn0gLS0+CjwhLS0gY2xhc3MoZGF0YSRJTkNPTUVfRikgLS0+CjwhLS0gdW5pX3Zhcih0ZXN0X3ZhciA9ICJJTkNPTUVfRiIsIGRhdGFfaW1wID0gZGF0YSkgLS0+CjwhLS0gYGBgIC0tPgoKIyNFZHVjYXRpb24KCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIkVEVUNBVElPTl9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjVXJiYW4vUnVyYWwKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlVfUl9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQ2xhc3MgKHRyZWF0bWVudCBhdCBwZXJmb3JtaW5nIGZhY2lsaXR5KQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQ0xBU1NfT0ZfQ0FTRV9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjWWVhcgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiWUVBUl9PRl9ESUFHTk9TSVMiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNQcmltYXJ5IFNpdGUKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlNJVEVfVEVYVCIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgoKIyNIaXN0b2xvZ3kKCmBgYHtyfQojdW5pX3Zhcih0ZXN0X3ZhciA9ICJISVNUT0xPR1lfRl9MSU0iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKPCEtLSAjI0JlaGF2aW9yIC0tPgoKPCEtLSBgYGB7cn0gLS0+CjwhLS0gdW5pX3Zhcih0ZXN0X3ZhciA9ICJCRUhBVklPUiIsIGRhdGFfaW1wID0gZGF0YSkgLS0+CjwhLS0gYGBgIC0tPgoKIyNHcmFkZQoKYGBge3J9CiN1bmlfdmFyKHRlc3RfdmFyID0gIkdSQURFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNDbGluaWNhbCBUIFN0YWdlCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fQ0xJTl9UIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQ2xpbmljYWwgTiBTdGFnZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX0NMSU5fTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgo8IS0tICMjQ2xpbmljYWwgTSBTdGFnZSAtLT4KCjwhLS0gYGBge3J9IC0tPgo8IS0tIHVuaV92YXIodGVzdF92YXIgPSAiVE5NX0NMSU5fTSIsIGRhdGFfaW1wID0gZGF0YSkgLS0+CjwhLS0gYGBgIC0tPgoKIyNDbGluaWNhbCBTdGFnZSBHcm91cAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNQYXRob2xvZ2ljIFQgU3RhZ2UKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9QQVRIX1QiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNQYXRob2xvZ2ljIE4gU3RhZ2UKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9QQVRIX04iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNQYXRob2xvZ2ljIE0gU3RhZ2UKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9QQVRIX00iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNQYXRob2xvZ2ljIFN0YWdlIEdyb3VwCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fUEFUSF9TVEFHRV9HUk9VUCIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI01hcmdpbnMKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiTUFSR0lOUyIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI01hcmdpbnMgWWVzL05vCmBgYHtyfQojdW5pX3Zhcih0ZXN0X3ZhciA9ICJNQVJHSU5TX1lOIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjMzAgRGF5IFJlYWRtaXNzaW9uCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJSRUFETV9IT1NQXzMwX0RBWVNfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1JhZGlhdGlvbiBUeXBlCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJSWF9TVU1NX1JBRElBVElPTl9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCgojI0x5bXBob3Zhc2N1bGFyIEludmFzaW9uCgpgYGB7cn0KI3VuaV92YXIodGVzdF92YXIgPSAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT05fRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0VuZG9zY29waWMvUm9ib3RpYwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMF9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjU3VyZ2VyeSBSYWRpYXRpb24gU2VxdWVuY2UgCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJTVVJHX1JBRF9TRVEiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNTdXJnZXJ5IFllcy9ObwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiU1VSR0VSWV9ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1JhZGlhdGlvbiBZZXMvTm8KCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlJBRElBVElPTl9ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0NoZW1vIFllcy9ObwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQ0hFTU9fWU4iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKCiMjVHJlYXRtZW50IFllcy9ObwpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUeF9ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI01ldGFzdGFzZXMgYXQgRHgKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAibWV0c19hdF9keF9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCjwhLS0gIyNUdW1vciBTaXplIC0tPgoKPCEtLSBgYGB7cn0gLS0+CjwhLS0gdW5pX3Zhcih0ZXN0X3ZhciA9ICJUX1NJWkUiLCBkYXRhX2ltcCA9IGRhdGEpIC0tPgo8IS0tIGBgYCAtLT4KCiNUdW1vciBzcGVjaWZpYyBWYXJpYWJsZXMKCgojIyNOb2RlIFNpemUKCgojQ294IFByb3BvcnRpb25hbCBIYXphcmQgUmF0aW8KCiMjTW9kZWwgIzEKCiMjI0Z1bGwgYW5hbHlzaXMKCmBgYHtyfQptb2RlbF9vbmUgPC0gY294cGgoU3VydihEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMsIFBVRl9WSVRBTF9TVEFUVVMgPT0gMCkKICAgICAgICAgICAgICAgICAgICAgfiBTVVJHX1JBRF9TRVEgKyBJTlNVUkFOQ0VfRiArIEFHRSArIFNFWF9GICsgUkFDRV9GICsgSU5DT01FX0YgKyBVX1JfRiArCiAgICAgICAgICAgICAgICAgICAgICBGQUNJTElUWV9UWVBFX0YgKyBGQUNJTElUWV9MT0NBVElPTl9GICsgRURVQ0FUSU9OX0YsCiAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBkYXRhKQptb2RlbF9vbmUgJT4lIHN1bW1hcnkoKQoKCmBgYAoKIyMjU3VtbWFyeSBvZiBNb2RlbAoKYGBge3J9Cm1vZGVsX29uZSAlPiUKICAgICAgICB0aWR5KC4sIGV4cG9uZW50aWF0ZSA9IFRSVUUpICU+JQogICAgICAgIHNlbGVjdCh0ZXJtLCBlc3RpbWF0ZSwgY29uZi5sb3csIGNvbmYuaGlnaCwgcC52YWx1ZSkgJT4lCiAgICAgICAgcmVuYW1lKFZhcmlhYmxlID0gdGVybSwKICAgICAgICAgICAgICAgSGF6YXJkX1JhdGlvID0gZXN0aW1hdGUpICU+JQogICAgICAgIHRibF9kZiAlPiUKICAgICAgICBwcmludChuID0gbnJvdyguKSkKCmBgYAoKIyBQcmVkaWN0aW9uIExvZ2lzdGljIFJlZ3Jlc3Npb24gTW9kZWxzCgojIyBTdXJnZXJ5CmBgYHtyfQoKbm9fVWtucyA8LSBkYXRhICU+JQogIGZpbHRlcihTVVJHRVJZX1lOICE9ICJVa24iKSAlPiUgCiAgZHJvcGxldmVscygpICU+JSAKICBtdXRhdGUoU1VSR0VSWV9ZTiA9IGFzLmxvZ2ljYWwoU1VSR0VSWV9ZTikpCgpmaXRfc3VyZyA8LSBnbG0oU1VSR19URiB+IEFHRV9GICsgU0VYX0YgKyBSQUNFX0YgKyBJTkNPTUVfRiArIFVfUl9GICsKICAgICAgICAgICAgICAgICAgICAgIEZBQ0lMSVRZX1RZUEVfRiArIEZBQ0lMSVRZX0xPQ0FUSU9OX0YgKyBFRFVDQVRJT05fRiArIEVYUE5fR1JPVVAsCiAgIGRhdGEgPSBub19Va25zKQoKc3VtbWFyeShmaXRfc3VyZykKCmV4cChjYmluZCgiT2RkcyByYXRpbyIgPSBjb2VmKGZpdF9zdXJnKSwgY29uZmludC5kZWZhdWx0KGZpdF9zdXJnLCBsZXZlbCA9IDAuOTUpKSkKYGBgCgojIyBNZXRhc3Rhc2lzIGF0IFRpbWUgb2YgRGlhZ25vc2lzCmBgYHtyfQojIGxpbWl0IHRvIHRob3NlIGNhc2VzIHdoZXJlIGRhdGEgYWJvdXQgZXhwYW5zaW9uIHN0YXR1cyBpcyBhdmFpbGFibGUgKD4gQWdlIDM5LCBub24tYW1iaWd1b3VzIHN0YXR1cyBzdGF0ZXMpCgpmaXRfbWV0cyA8LSBnbG0obWV0c19hdF9keF9GIH4gQUdFX0YgKyBTRVhfRiArIFJBQ0VfRiArIElOQ09NRV9GICsgVV9SX0YgKwogICAgICAgICAgICAgICAgICAgICAgRkFDSUxJVFlfVFlQRV9GICsgRkFDSUxJVFlfTE9DQVRJT05fRiArIEVEVUNBVElPTl9GICsgRVhQTl9HUk9VUCwKICAgZGF0YSA9IG5vX0V4Y2x1ZGVzKQoKc3VtbWFyeShmaXRfbWV0cykKCmV4cChjYmluZCgiT2RkcyByYXRpbyIgPSBjb2VmKGZpdF9tZXRzKSwgY29uZmludC5kZWZhdWx0KGZpdF9zdXJnLCBsZXZlbCA9IDAuOTUpKSkKYGBg